sandbudd Posted June 26, 2008 Share Posted June 26, 2008 The form populates the database great and sends the email except for the image? <?php $db_host = ''; // don't forget to change $db_user = ''; $db_pwd = ''; $database = ''; $table = ''; if (!mysql_connect($db_host, $db_user, $db_pwd)) die("Can't connect to database"); if (!mysql_select_db($database)) die("Can't select database"); // This function makes usage of // $_GET, $_POST, etc... variables // completly safe in SQL queries function sql_safe($s) { if (get_magic_quotes_gpc()) $s = stripslashes($s); return mysql_real_escape_string($s); } // If user pressed submit in one of the forms if ($_SERVER['REQUEST_METHOD'] == 'POST') { // cleaning title field $title = trim(sql_safe($_POST['title'])); $customer = trim(sql_safe($_POST['customer'])); $company = trim(sql_safe($_POST['company'])); $address = trim(sql_safe($_POST['address'])); $city = trim(sql_safe($_POST['city'])); $state = trim(sql_safe($_POST['state'])); $zip = trim(sql_safe($_POST['zip'])); $email = trim(sql_safe($_POST['email'])); $phone = trim(sql_safe($_POST['phone'])); $fax = trim(sql_safe($_POST['fax'])); $type2 = trim(sql_safe($_POST['type2'])); $type3 = trim(sql_safe($_POST['type3'])); $burnish = trim(sql_safe($_POST['burnish'])); $chromate = trim(sql_safe($_POST['chromate'])); $hex = trim(sql_safe($_POST['hex'])); $impregnation = trim(sql_safe($_POST['impregnation'])); $strip = trim(sql_safe($_POST['strip'])); $part = trim(sql_safe($_POST['part'])); $description = trim(sql_safe($_POST['description'])); $alloy = trim(sql_safe($_POST['alloy'])); $quantity = trim(sql_safe($_POST['quantity'])); $spec = trim(sql_safe($_POST['spec'])); $color = trim(sql_safe($_POST['color'])); $repeat = trim(sql_safe($_POST['repeat'])); $isearch = trim(sql_safe($_POST['isearch'])); $idir = trim(sql_safe($_POST['idir'])); $referral = trim(sql_safe($_POST['referral'])); $yellow = trim(sql_safe($_POST['yellow'])); $trade = trim(sql_safe($_POST['trade'])); $other = trim(sql_safe($_POST['other'])); $notes = trim(sql_safe($_POST['notes'])); if ($title == '') // if title is not set $title = '(empty title)';// use (empty title) string if ($_POST['password'] != $password) // cheking passwors $msg = 'Error: wrong upload password'; else { if (isset($_FILES['photo'])) { @list(, , $imtype, ) = getimagesize($_FILES['photo']['tmp_name']); // Get image type. // We use @ to omit errors if ($imtype == 3) // cheking image type $ext="png"; // to use it later in HTTP headers elseif ($imtype == 2) $ext="jpeg"; elseif ($imtype == 1) $ext="gif"; else $msg = 'Error: unknown file format'; if (!isset($msg)) // If there was no error { $data = file_get_contents($_FILES['photo']['tmp_name']); $data = mysql_real_escape_string($data); // Preparing data to be used in MySQL query mysql_query("INSERT INTO {$table} SET ext='$ext', title='$title', customer='$customer', company='$company', address='$address', city='$city', state='$state', zip='$zip', email='$email', phone='$phone', fax='$fax', type2='$type2', type3='$type3', burnish='$burnish', chromate='$chromate', hex='$hex', impregnation='$impregnation', strip='$strip', part='$part', description='$description', alloy='$alloy', quantity='$quantity', spec='$spec', color='$color', repeat='$repeat', isearch='$isearch', idir='$idir', referral='$referral', yellow='$yellow', trade='$trade', other='$other', notes='$notes', data='$data'"); $msg = 'Success: image uploaded'; } } elseif (isset($_GET['title'])) // isset(..title) needed $msg = 'Error: file not loaded';// to make sure we've using // upload form, not form // for deletion if (isset($_POST['del'])) // If used selected some photo to delete { // in 'uploaded images form'; $id = intval($_POST['del']); mysql_query("DELETE FROM {$table} WHERE id=$id"); $msg = 'Photo deleted'; } } } elseif (isset($_GET['show'])) { $id = intval($_GET['show']); $result = mysql_query("SELECT ext, UNIX_TIMESTAMP(image_time), data FROM {$table} WHERE id=$id LIMIT 1"); if (mysql_num_rows($result) == 0) die('no image'); list($ext, $image_time, $data, $customer, $company, $address, $city, $state, $zip, $email, $phone, $fax, $type2, $type3, $burnish, $chromate, $hex, $impregnation, $strip, $part, $description, $alloy, $quantity, $spec, $color, $repeat, $isearch, $idir, $referral, $yellow, $trade, $other, $notes) = mysql_fetch_row($result); $send_304 = false; if (php_sapi_name() == 'apache') { // if our web server is apache // we get check HTTP // If-Modified-Since header // and do not send image // if there is a cached version $ar = apache_request_headers(); if (isset($ar['If-Modified-Since']) && // If-Modified-Since should exists ($ar['If-Modified-Since'] != '') && // not empty (strtotime($ar['If-Modified-Since']) >= $image_time)) // and grater than $send_304 = true; // image_time } if ($send_304) { // Sending 304 response to browser // "Browser, your cached version of image is OK // we're not sending anything new to you" header('Last-Modified: '.gmdate('D, d M Y H:i:s', $ts).' GMT', true, 304); exit(); // bye-bye } // outputing Last-Modified header header('Last-Modified: '.gmdate('D, d M Y H:i:s', $image_time).' GMT', true, 200); // Set expiration time +1 year // We do not have any photo re-uploading // so, browser may cache this photo for quite a long time header('Expires: '.gmdate('D, d M Y H:i:s', $image_time + 86400*365).' GMT', true, 200); // outputing HTTP headers header('Content-Length: '.strlen($data)); header("Content-type: image/{$ext}"); // outputing image echo $data; exit(); } ?> <?php if (phpversion() > "4.0.6") { $HTTP_POST_VARS = &$_POST; } if (isset($HTTP_POST_VARS\["formSeen"])) { // create the mail information $to = "[email protected]"; $subject = "RFQ"; $from = "From: Request For Quote\r\n"; $body = "The following information was submitted:\n\n"; while (list($key,$value) = each($HTTP_POST_VARS)) { $body.= $key . " = " . $value . "\n"; } // now send the mail mail($to,$subject,$body,$from); // then redirect to another page header("Location: thankyou.php"); } ?> <html><head> <title>FWA Request For Quote</title> <style type="text/css"> <!-- .style1 { font-size: 14px; color: #0000FF; } --> </style> </head> <body> <p style="font-weight: bold;"> </p> <form action="<?=$PHP_SELF?>" method="POST" enctype="multipart/form-data"> <table width="848" border="0" cellpadding="2" cellspacing="0"> <tr> <td width="58"><label for="customer">Name:</label> <label for="label"> <input name="formSeen" type="hidden" id="hiddenField"> </label></td> <td width="322"><input type="text" name="customer" id="customer" size="50"></td> <td width="62"><label for="company">Company:</label> <label for="label"></label></td> <td width="347"><input type="text" name="company" id="company" size="50"></td> </tr> <tr> <td><label for="address">Address:</label> <label for="title"><td><input type="text" name="address" id="address" size="50"></td> <td><label for="City">City:</label></td> <td><input type="text" name="city" id="city" size="50"></td> </tr> <tr> <td><label for="label">State:</label></td> <td><input type="text" name="state" id="state" size="50"></td> <td><label for="label">Zip:</label></td> <td><input type="text" name="zip" id="zip" size="50"></td> </tr> <tr> <td><label for="label">Email:</label></td> <td colspan="3"><input type="text" name="email" id="email" size="50"></td> </tr> <tr> <td><label for="label">Phone:</label></td> <td><input type="text" name="phone" id="phone" size="50"></td> <td><label for="label">Fax:</label></td> <td><input type="text" name="fax" id="fax" size="50"></td> </tr> <tr> <td colspan="4"><span class="style1">Process requested (please check all that apply):</span></td> </tr> <tr> <td colspan="2"><input type="checkbox" name="type2" id="checkbox2"> Type II (Conventional Anodize) </td> <td colspan="2"><input type="checkbox" name="type3" id="checkbox3"> Type III (Hard Coat Anodize)</td> </tr> <tr> <td colspan="2"><input type="checkbox" name="burnish" id="checkbox4"> (Burnish, Deburr)</td> <td colspan="2"><input type="checkbox" name="chromate" id="checkbox5"> Chromate Conversion</td> </tr> <tr> <td colspan="2"><input type="checkbox" name="hex" id="checkbox6"> Chromate Conversion Hex – free</td> <td colspan="2"><input type="checkbox" name="impregnation" id="checkbox7"> Impregnation</td> </tr> <tr> <td colspan="2"><input type="checkbox" name="strip" id="checkbox8"> Strip</td> <td colspan="2"> </td> </tr> <tr> <td colspan="2"><label for="label">Part Number:</label></td> <td colspan="2"><input type="text" name="part" id="part" size="50"></td> </tr> <tr> <td colspan="2"><label for="label">Part Description (part name or basic size):</label></td> <td colspan="2"><input type="text" name="description" id="description" size="50"></td> </tr> <tr> <td><label for="label">Alloy:</label></td> <td><input type="text" name="alloy" id="alloy" size="50"></td> <td><label for="label">Quantity:</label></td> <td><input type="text" name="quantity" id="quantity" size="50"></td> </tr> <tr> <td><label for="label">Specification:</label></td> <td><input type="text" name="spec" id="spec" size="50"></td> <td><label for="label">Color:</label></td> <td><input type="text" name="color" id="color" size="50"></td> </tr> <tr> <td colspan="2"><span class="style1">How did you hear about us?</span></td> <td colspan="2"> </td> </tr> <tr> <td colspan="4"><table width="100%" border="0" cellpadding="2" cellspacing="0"> <tr> <td colspan="2"><input type="checkbox" name="repeat" id="checkbox9"> I am a repeat customer</td> <td width="23%"><input type="checkbox" name="isearch" id="checkbox10"> Internet Search</td> <td width="16%"><label for="label">Internet Directory:</label></td> <td width="28%"><input type="text" name="idir" id="idir" size="30"></td> </tr> <tr> <td width="7%"><label for="label">Referral:</label></td> <td width="26%"><input type="text" name="referral" id="referral" size="30"></td> <td><input type="checkbox" name="yellow" id="checkbox"> Yellow Pages</td> <td><label for="label">Trade Show:</label></td> <td><input type="text" name="trade" id="trade" size="30"></td> </tr> </table></td> </tr> <tr> <td> </td> <td colspan="3"> </td> </tr> <tr> <td><label for="label">Other:</label></td> <td colspan="3"><textarea name="other" cols="80" id="other"></textarea></td> </tr> <tr> <td colspan="2"> </td> <td colspan="2"> </td> </tr> <tr> <td colspan="4"><table width="100%" border="0" cellpadding="2" cellspacing="0"> <tr> <td width="25%"><label for="label">Notes / Special Requests:</label></td> <td colspan="2"><textarea name="notes" cols="80" id="notes"></textarea></td> </tr> <tr> <td> </td> <td width="43%"> </td> <td width="32%"> </td> </tr> <tr> <td>Upload File Name: </td> <td colspan="2"><input type="text" name="title" id="title" size="64"></td> </tr> <tr> <td> </td> <td colspan="2"> </td> </tr> <tr> <td>Upload File:</td> <td colspan="2"><input type="file" name="photo" id="photo"></td> </tr> </table></td> </tr> <tr> <td></p> <label for="label"></label></td> <td colspan="3"> </td> </tr> <tr> <td colspan="2"> </td> <td colspan="2"> </td> </tr> <tr> <td colspan="2"><input type="submit" value="Submit"></td> <td colspan="2"> </td> </tr> </table> <label for="customer"><br> </label> <label for="company"><br> </label> <label for="address"><br> </label> <label for="City"></label> <label for="state"></label> <label for="zip"></label> <label for="email"></label> <label for="phone"></label> <label for="fax"></label> <label for="part"></label> <label for="description"></label> <label for="alloy"></label> <label for="quantity"></label> <br> <br> <label for="spec"></label> <label for="color"></label> <label for="idir"></label> <label for="referral"></label> <label for="trade"></label> <label for="other"></label> <label for="notes"></label> </form> </body> </html> Link to comment https://forums.phpfreaks.com/topic/111989-solved-form-uploads-to-mysql-database-and-send-the-email-but/ Share on other sites More sharing options...
sandbudd Posted June 26, 2008 Author Share Posted June 26, 2008 friendly bump Link to comment https://forums.phpfreaks.com/topic/111989-solved-form-uploads-to-mysql-database-and-send-the-email-but/#findComment-574996 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.