我的困境是使用php发送我的表单数据。 当然,我已经看过多篇文章来解决这个问题。 试图适应我的代码以适应要求后,我一直没有成功,因为PHP提交没有完成(我假设。) 具体来说,在提交后,没有内容显示在下一页上,也没有电子邮件窗口弹出。 (我宁愿所有的数据将显示在一个弹出窗口邮寄。 我不会,如果它不是在有可能的伤害,如果只是HTML,CSS,jQuery和PHP语言。)发送带有邮件和收据的PHP信息
如果你需要看到html,我很乐意发布它。
PHP - 代码
<?php
if(isset($_POST['submit'])){
$to = "[email protected]"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$client = $_POST['client'];
$first_name = $_POST['fname'];
$last_name = $_POST['lname'];
$date = $_POST['date'];
$checkin = $_POST['datepicker'];
$due = $_POST['duedate'];
$state = $_POST['state'];
$zip = $_POST['zipcode'];
$phone = $_POST['phoneno'];
$confirm = $_POST['confirm'];
$file1 = $_POST['file1'];
$file2 = $_POST['file2'];
$prime = $_POST['prime'];
$sec = $_POST['second'];
$tri = $_POST['third'];
$dim = $_POST['dimtype'];
$width = $_POST['width'];
$length = $_POST['length'];
$details = $_POST['details'];
$design = $_POST['design'];
$subject = "Form submission";
$subject2 = "Copy of your form submission";
$message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['details'];
$message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['details'];
$headers = "From:" . $from;
$headers2 = "From:" . $to;
mail($to,$subject,$message,$headers);
mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
echo "Mail Sent. Thank you " . $client . ", we will contact you shortly.";
// Function to validate against any email injection attempts
{
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
return true;
}
else
{
return false;
}
}
?>
HTML - 这是基本的形式,用户可以使用填写基本信息的HTML。解决了这个问题之后,我会在提交给PHP之前实现Javascript/jQuery脚本来验证表单。 同样,我只是在寻找PHP的解决方案,而不是javascripting。
<form id="project_form" action="_php/mobile.php" method="post" autocomplete="on">
<label for="client">Project Name:</label>
<br />
<input type="text" class="val" placeholder="Ace Designs" name="client" id="client">
<br />
<label for="last_name">Last Name:</label>
<br />
<input type="text" class="val" placeholder="Earl" name="lname" id="lname">
<br />
<label for="first_name">First Name:</label>
<br />
<input type="text" class="val" placeholder="Torey" name="fname" id="fname">
<br />
<label for="email">Email:</label>
<br />
<input type="text" class="val" placeholder="[email protected]" id="email">
<br />
<label for="date">Date:</label>
<br />
<input type="text" class="val" placeholder="03/07/2017" name="date" id="date">
<br />
<label for="checkin">Check-In Date:</label>
<br />
<input type="text" class="val" name="datepicker" id="datepicker">
<script>
$(function() {
$("#datepicker").datepicker({
minDate: -20,
maxDate: "+1M +10D"
});
});
</script>
<br />
<label for="checkin">Check-In Date:</label>
<br />
<input type="text" class="val" placeholder="03/14/2017" name="checkin" id="checkin">
<br />
<label for="state">State:</label>
<br />
<select name="state" id="state" style="margin:.1em 0em 1em .8em; width: 13.3em;">
<option value="blank">Select State</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District Of Columbia</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
</select>
<br />
<label for="zip">Zip Code:</label>
<br />
<input type="text" class="val" placeholder="99999 or 99999-99" name="duedate" id="zip">
<br />
<label for="phone">Phone No:</label>
<br />
<input type="text" class="val" placeholder="800-999-9999" name="phone" id="phone">
<br />
<div id="field" style="text-align: center;">
<h3 style="
background-color:#5f2b87;
color:#fff;
padding: .7em 0em .7em; 0em;
margin-top:1em;
margin-bottom:.3em;">
Contact Information</h3>
<div name="optionz">
Design:
<select id="design" name='design' style="margin-top:1em;">
<option value="0" disabled selected>Choose Design</option>
<option value="166.25">Logo</option>
<option value="256.25">Brochure(6pages)</option>
<option value="35.25">Print Illustration</option>
<option value="120.25">Vector Illustration</option>
<option value="41.25">Flyer/Handbill</option>
<option value="41.00">Flyer(template)</option>
<option value="66.75">Banner</option>
<option value="250">Billboard</option>
<option value="131.25">Business Card</option>
<option value="412.75">Website(static)</option>
<option value="1212.75">Website(dynamic)</option>
<option value="262.75">Website(Template)</option>
<option value="60.25">Photography (1HR)</option>
<option value="106.25">Photography (3HR)</option>
<option value="231.25">Photography (6HR)</option>
<option value="326.25">Photography (8HR)</option>
</select>
<br /> Confirm:
<select id="confirm" name='confirm' style="margin-top:1em;">
<option disabled selected>Confirm Design</option>
<option>Logo</option>
<option>Brochure(6pages)</option>
<option>Print Illustration</option>
<option>Vector Illustration</option>
<option>Flyer/Handbill</option>
<option>Flyer(template)</option>
<option>Banner</option>
<option>Billboard</option>
<option>Business Card</option>
<option>Website(static)</option>
<option>Website(dynamic)</option>
<option>Website(Template)</option>
<option>Photography (1HR)</option>
<option>Photography (3HR)</option>
<option>Photography (6HR)</option>
<option>Photography (8HR)</option>
</select>
<br />
<input type="hidden" value="" id="my_hidden_field" />
</div>
<br />
<div name="files" id="files">
File Types
<br />
<select name="file1">
<option disabled selected>Choose File</option>
<option>.eps</option>
<option>.jpeg</option>
<option>.jpeg2000</option>
<option>.tiff</option>
<option>.gif</option>
<option>.bmp</option>
<option>.png</option>
<option>.pdf</option>
<option>.pbm</option>
<option>.psd</option>
<option>.ai</option>
<option>.indd</option>
<option>.dwt</option>
<option>other</option>
</select>
<select name="file2">
<option disabled selected>Choose File</option>
<option>.jpeg</option>
<option>.jpeg2000</option>
<option>.tiff</option>
<option>.gif</option>
<option>.bmp</option>
<option>.png</option>
<option>.eps</option>
<option>.pdf</option>
<option>.pbm</option>
<option>.psd</option>
<option>.ai</option>
<option>.indd</option>
<option>.dwt</option>
<option>other</option>
</select>
</div>
<br />
<div name="colors" id="colorz">
Color Scheme
<br />
<input name="prime" size="8" class="jscolor {hash:true}">
<input name="second" size="8" class="jscolor {hash:true}">
<input name="third" size="8" class="jscolor {hash:true}">
</div>
<br />
<div name="dimensions" id="dimenz">
Dimensions
<br />
<select name="dimtype">
<option disabled selected>Unit of Measure</option>
<option>Pixels</option>
<option>Points</option>
<option>Picas</option>
<option>Inches</option>
<option>Millimeters</option>
<option>Centimeters</option>
</select>
<br />
<input size="6" name="width" placeholder="WIDTH" type="number">
<br />
<input size="6" name="length" placeholder="LENGTH" type="number">
</div>
<br />
<div>
Project Notes:
<br />
<textarea name="details" rows="6" cols="40" style="margin-top: 1em;"></textarea>
</div>
<div style="color:#fff;">
Total:
<div name="sum" id='sum'>$0.00</div>
</div>
<div id="float">
<input type="submit" id="sub" name="sub" value="Submit">
<input type="reset" id="reset" name="reset" value="Reset">
</div>
</form>
enter code here
嗯。如果您也可以发布表单的HTML,这将会很有帮助。很有可能您的变量名称不匹配或提交无效。 –
我添加了HTML –