Support Forums
php form script with upload script help - Printable Version

+- Support Forums (https://www.supportforums.net)
+-- Forum: Categories (https://www.supportforums.net/forumdisplay.php?fid=87)
+--- Forum: Coding Support Forums (https://www.supportforums.net/forumdisplay.php?fid=18)
+---- Forum: PHP The Hypertext Preprocessor (https://www.supportforums.net/forumdisplay.php?fid=21)
+---- Thread: php form script with upload script help (/showthread.php?tid=6805)



php form script with upload script help - andrewjs18 - 05-03-2010

hello,

I had 2 separate scripts, but was wanting to combined them into 1, but I'm not exactly sure what I'm doing so any help would be appreciated

Code:
<?php

$company = $_POST["company"];
$phone = $_POST["phone"];
$email = $_POST["email"];
$work = $_POST["work"];
$page = $_POST["page"];
$referral= $_POST["referral"];
$comments = $_POST["comments"];




$address_to = "removed";
$address_from = "From: test@test.com";
$email_subject_line = $company . "'s form";

$email_text = "Company Name?" . $company .
"\nPhone number? " . $phone .
"\nEmail Address? " . $email .
"\nType of work? " . $work .
"\nHow many pages? " . $page .
"\nReferral?" . $referral .
"\nComments? " . $comments;



mail($address_to, $email_subject_line, $email_text, $address_from);

// Configuration - Your Options
      $allowed_filetypes = array('jpg','gif','bmp','png','jpeg','zip',); // These will be the types of file that will pass the validation.
      $max_filesize = 3145728; // Maximum filesize in BYTES (currently 0.5MB).
      $upload_path = './uploads'; // The place the files will be uploaded to (currently a 'files' directory).

   $filename = $_FILES['userfile']['name']; // Get the name of the file (including file extension).
    $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // Get the extension from the filename.

   // Check if the filetype is allowed, if not DIE and inform the user.
   if(false === in_array(pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION), $allowed_filetypes))
   die('The file you attempted to upload is not allowed.');

   // Now check the filesize, if it is too large then DIE and inform the user.
   if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
      die('The file you attempted to upload is too large.');

   // Check if we can upload to the specified path, if not DIE and inform the user.
   if(!is_writable($upload_path))
      die('You cannot upload to the specified directory, please CHMOD it to 777.');

   // Upload the file to your specified path.
   if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename))
         echo 'Your file upload was successful, go back to the homepage by clicking <a href="http://www.andrewshemo.com/test/form" title="">here</a>'; // It worked.
      else
         echo 'There was an error during the file upload.  Please try again.'; // It failed :(.

?>

Code:
<html>
<head>
</head>
<body>
<form name="contact" enctype="multipart/form-data" action="contact.php" method="post" onsubmit="return validate_fields(this)">
<div id="form">
<ul>
<li>Name:<br />
<input type="text" size="30" name="name" id="name" /></li>
<li><br /></li>
<li>Location:<br />
<input type="text" name="location" id="location" /></li>
<li><br /></li>
<li>Make:<br />
<input type="text" name="make" id="make" /></li>
<li><br /></li>
<li>Model:<br />
<input type="text" name="model" id="model" /></li>
<li><br /></li>
<li>Referral:<br />
<input type="text" name="referral" id="referral" /></li>
<li><br /></li>
<li><label for="file">Select a file:</label> <input type="file" name="userfile" id="file"> <br />
<button>Upload File</button></li>
<li><br /></li>
<li><input type="submit" name="submit" value="Submit" />
&nbsp;
<input type="reset" name="reset" value="Reset" /></li>
</ul>
</div>
<!-- End Contact Form -->
</form>
</body>
</html>

is it possible to remove the upload option and make it so that when a user submits the form it'll upload their photos? or have it send the photo in the email with the form so that it does not use server space?


RE: php form script with upload script help - Cyandelta - 05-05-2010

Hey, I combined the script together:

Code:
<html>
<head>
</head>
<body>
<?php
if(! $_POST['submit'])
{
    ?>
<form name="contact" enctype="multipart/form-data" action="contact.php" method="post" onsubmit="return validate_fields(this)">
<div id="form">
<ul>
<li>Name:<br />
<input type="text" size="30" name="name" id="name" /></li>
<li><br /></li>
<li>Location:<br />
<input type="text" name="location" id="location" /></li>
<li><br /></li>
<li>Make:<br />
<input type="text" name="make" id="make" /></li>
<li><br /></li>
<li>Model:<br />
<input type="text" name="model" id="model" /></li>
<li><br /></li>
<li>Referral:<br />
<input type="text" name="referral" id="referral" /></li>
<li><br /></li>
<li><label for="file">Select a file:</label> <input type="file" name="userfile" id="file"> <br />
<button>Upload File</button></li>
<li><br /></li>
<li><input type="submit" name="submit" value="Submit" />
&nbsp;
<input type="reset" name="reset" value="Reset" /></li>
</ul>
</div>
<!-- End Contact Form -->
</form>
    <?php
}
else
{
    $company = $_POST["company"];
    $phone = $_POST["phone"];
    $email = $_POST["email"];
    $work = $_POST["work"];
    $page = $_POST["page"];
    $referral= $_POST["referral"];
    $comments = $_POST["comments"];

    $address_to = "removed";
    $address_from = "From: test@test.com";
    $email_subject_line = $company . "'s form";

    $email_text = "Company Name?" . $company .
    "\nPhone number? " . $phone .
    "\nEmail Address? " . $email .
    "\nType of work? " . $work .
    "\nHow many pages? " . $page .
    "\nReferral?" . $referral .
    "\nComments? " . $comments;



    mail($address_to, $email_subject_line, $email_text, $address_from);

    // Configuration - Your Options
          $allowed_filetypes = array('jpg','gif','bmp','png','jpeg','zip',); // These will be the types of file that will pass the validation.
          $max_filesize = 3145728; // Maximum filesize in BYTES (currently 0.5MB).
          $upload_path = './uploads'; // The place the files will be uploaded to (currently a 'files' directory).

       $filename = $_FILES['userfile']['name']; // Get the name of the file (including file extension).
        $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // Get the extension from the filename.

       // Check if the filetype is allowed, if not DIE and inform the user.
       if(false === in_array(pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION), $allowed_filetypes))
        die('The file you attempted to upload is not allowed.');

       // Now check the filesize, if it is too large then DIE and inform the user.
       if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
          die('The file you attempted to upload is too large.');

       // Check if we can upload to the specified path, if not DIE and inform the user.
       if(!is_writable($upload_path))
          die('You cannot upload to the specified directory, please CHMOD it to 777.');

       // Upload the file to your specified path.
       if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename))
             echo 'Your file upload was successful, go back to the homepage by clicking <a href="http://www.andrewshemo.com/test/form" title="">here</a>'; // It worked.
          else
             echo 'There was an error during the file upload.  Please try again.'; // It failed :(.
}
?>
</body>
</html>

May I suggest that you take a look at PEAR's email class, It's great for sending email's with attachment's.

http://pear.php.net/packages.php?catpid=14&catname=Mail

Hope I helped you.


RE: php form script with upload script help - andrewjs18 - 05-08-2010

thanks. I'll test it out in a bit!

got it working..


RE: php form script with upload script help - Cyandelta - 05-14-2010

No problem bro, glad I helped you.


RE: php form script with upload script help - JMK940 - 10-07-2010

You could use google docs to manage your forms and then no need for php just pure html.