Jump to content

[SOLVED] Form uploads to mysql database and send the email but ....


Recommended Posts

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 = "dan@sandbudd.com";
$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 &#8211; 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>

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.