Jump to content

Recommended Posts

Hey guys!

I'm trying to add an upload feature to my contact form. I had one before that simply added the image under the text in the email not as an actual attachment and it was pretty easy but I lost the code and can’t seem to find it again. But I seem to be having a problem finding a form that can help me add this. As of now the code in HTML has the upload but the PHP doesn’t at all.

 

If anyone could help me add the rest of the PHP code I'd really appreciate it!

 

 

HTML:

<form name="htmlform" method="post" action="oc.php"><label for="fname"><p>Full Name:</p></label>

  <input  type="text" name="fname" maxlength="50" size="60" style="color:#000;" required="required">
 </td>
</tr>
 
<tr>
 <td valign="top"> <label for="phone">
   <p>Phone Number: </p></label>

  <input  type="text" name="phone" maxlength="50" size="60" style="color:#000;" required="required">
 </td>
</tr>
<tr>

 <td valign="top">  <label for="email">
   <p> Email Address: </p></label>

  <input  type="text" name="email" maxlength="80" size="60" style="color:#000;" required="required">
 </td>
 
</tr>
<tr>
 
		
</tr>
<tr>
<td>
<h4>DELIVERY INFORMATION:</h4>
  <label for="address">
   <p>Address: </p></label>

  <input  type="text" name="address" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
  <label for="city">
   <p>City: </p></label>

  <input  type="text" name="city" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
  <label for="state">
   <p>State: </p></label>

  <input  type="text" name="state" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
  <label for="zip">
   <p>Zip Code: </p></label>

  <input  type="text" name="zip" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
<h4>INFORMATION:</h4>
  <label for="first">
   <p>First Name: </p></label>

  <input  type="text" name="first" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
  <label for="last">
   <p>Last Name: </p></label>

  <input  type="text" name="last" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
  <label for="rec">
   <p>Recommendation ID Number: </p></label>

  <input  type="text" name="rec" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
  <label for="exp">
   <p>Recommendation Experation Date: </p></label>

  <input  type="text" name="exp" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
  <label for="doc">
   <p>Doctors Name: </p></label>

  <input  type="text" name="doc" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
  <label for="docphone">
   <p>Doctors Phone Number: </p></label>

  <input  type="text" name="docphone" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
  <label for="ver">
   <p>Verification Website: </p></label>

  <input  type="text" name="ver" maxlength="80" size="60" style="color:#000;" required="required">
</td>
</tr>
<tr>
<td>
 
</td>
</tr>
<tr>
  <td valign="top"><label for="message"><p>How did you hear about us?</p></label><textarea name="message" id="message"   style="background-color:#fff; color:#000;" cols="45"/></textarea></td>
</tr>


<tr>
 <td colspan="2" style="text-align:left">
 


 <p>   Upload Recommendation:</p>
   <input type="file" name="pic" id="pic">
<br />
 <p>   Upload California State ID:</p>
 	   <input type="file" name="id" id="id">
<br />

<br />


<input type="image" value="submit"img src="img/sub.png" onmouseover="this.src='img/sub1.png'" onmouseout="this.src='img/sub.png'" />
  
  </form>	

PHP:

<?php
 
// first clean up the input values
foreach($_POST as $key => $value) {
  if(ini_get('magic_quotes_gpc'))
    $_POST[$key] = stripslashes($_POST[$key]);
 
  $_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
}
  

	

$ip=$_SERVER['REMOTE_ADDR'];
      $email_to = "info@example.com";
      $email_subject = "Register";
  

	

$email_message .= "Full Name: ".$_POST["fname"]."\n";
  

	

$email_message .= "Phone Number: ".$_POST["phone"]."\n";
  


$email_message .= "Email Address: ".$_POST["email"]."\n";

$email_message .= "Address: ".$_POST["address"]."\n";

$email_message .= "City: ".$_POST["city"]."\n";

$email_message .= "State: ".$_POST["state"]."\n";

$email_message .= "Zip Code: ".$_POST["zip"]."\n";

$email_message .= "First Name: ".$_POST["first"]."\n";

$email_message .= "Last Name: ".$_POST["last"]."\n";

$email_message .= "Recommendation ID Number: ".$_POST["rec"]."\n";

$email_message .= "Recommendation Exp Date: ".$_POST["exp"]."\n";

$email_message .= "Doctors Name: ".$_POST["doc"]."\n";

$email_message .= "Doctors Phone Number: ".$_POST["docphone"]."\n";

$email_message .= "Verification Website: ".$_POST["ver"]."\n";

$email_message .= "Message: ".$_POST["message"]."\n";



$userEmail = filter_var( $_POST['email'],FILTER_VALIDATE_EMAIL );

if( ! $userEmail ){

    exit;
}
  
	




//email headers
 

	

$headers = 'From: '.$_POST["email"]."\r\n".

'Reply-To: '.$_POST["email"]."\r\n" .

'X-Mailer: PHP/' . phpversion();
 

	

echo (mail($email_to, $email_subject, $email_message, $headers) ? "<html><head><meta http-equiv='Refresh' content='0; url=http://www..com/thankyou.html'><body bgcolor='#fff'>
":"<html><body bgcolor='#fff'><center><font color='white'><h2>We're sorry, something went wrong.</h2></font><p><font color='white'>Please return to <a href='http://www..com'></a>.</font></p></center></body></html>");









$ip=$_SERVER['REMOTE_ADDR'];
      $email_to = $_POST["email"];
      $email_subject = "420 In Action";
  
$email_message1 = "Welcome!



Sincerely,

";



//email headers
 

	

$headers = 'From: '.$_POST["email"]."\r\n".

'Reply-To: '.$_POST["email"]."\r\n" .

'X-Mailer: PHP/' . phpversion();
 

	

echo (mail($email_to, $email_subject, $email_message1, $headers) ? "":"");


	

exit();





// test input values for errors
$errors = array();
if(strlen($fname) < 2) {
  if(!$fname) { $errors[] = "You must enter a name."; } 
  else { $errors[] = "Name must be at least 2 characters."; }
}
if(!$email) { $errors[] = "You must enter an email."; } 
else if (!validEmail($email)) { $errors[] = "You must enter a valid email."; }
 
if($errors) {
	// output errors to browser and die with a failure message
	$errortext = "";
	foreach($errors as $error) {
		$errortext .= "<li>".$error."</li>";
	}
	die("<span class='failure'>The following errors occured:<ul>". $errortext ."</ul></span>");
}




// check to see if email is valid
function validEmail($email) {
	$isValid = true;
	$atIndex = strrpos($email, "@");
	if (is_bool($atIndex) && !$atIndex) { $isValid = false; } 
	else {
		$domain = substr($email, $atIndex+1);
		$local = substr($email, 0, $atIndex);
		$localLen = strlen($local);
		$domainLen = strlen($domain);
		if ($localLen < 1 || $localLen > 64) { $isValid = false; }						// local part length exceeded
		else if ($domainLen < 1 || $domainLen > 255) { $isValid = false; }				        // domain part length exceeded
		else if ($local[0] == '.' || $local[$localLen-1] == '.') { $isValid = false; }                  	// local part starts or ends with '.'
		else if (preg_match('/\\.\\./', $local)) { $isValid = false; }					        // local part has two consecutive dots
		else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) { $isValid = false; }  // character not valid in domain part 
		else if (preg_match('/\\.\\./', $domain)) { $isValid = false; }					// domain part has two consecutive dots
		else if (!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) {
			// character not valid in local part unless local part is quoted
			if (!preg_match('/^"(\\\\"|[^"])+"$/', str_replace("\\\\","",$local))) { $isValid = false; }
		}
		if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A"))) { $isValid = false; }	// domain not found in DNS
	}
   return $isValid;
}


 ?>


Link to comment
https://forums.phpfreaks.com/topic/293139-adding-upload-to-contact-form/
Share on other sites

This code isn't tested and off the cuff, so I don't want to hear complaints lol

This is the basic idea.

if (file_exists($_FILES['pic']['tmp_name']) || is_uploaded_file($_FILES['pic']['tmp_name']))
{
    // grab temp file name
    $cur_file = $_FILES['pic']['tmp_name'];
    
    // check if it's even an image file
    if ((getimagesize($cur_file)) === FALSE)
    {
        // error - file is not an image file
    }  

    // specify what directory to upload the file to
    $user_dir = "/uploaded_files_dir/";

    // create the path and new file name
    $newfile = $user_dir . preg_replace( '/[^_A-Za-z0-9.]/', '', basename($_FILES['pic']['name']));

    // upload file
    if ( ! move_uploaded_file($cur_file, $newfile)) 
    {
        // error - failed to upload file
    }
}
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.