de code is :
<?php
// define variables and set to empty values
$nameErr = $emailErr = $phoneErr = $contentErr = "";
$name_sender = $email_sender= $phone = $content =$succes= "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// post
$name_sender = strip_tags($_POST['name_sender']);
$email_sender = strip_tags($_POST['email_sender']);
$phone = strip_tags($_POST['phone']);
$content = strip_tags($_POST['content']);
// validate name
if (empty($_POST["name_sender"])) {
$nameErr = "Name is required";
} else {
$name_sender = test_input($_POST["name_sender"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$name_sender)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email_sender"])) {
$emailErr = "Email is required";
} else {
$email_sender = test_input($_POST["email_sender"]);
// check if e-mail address is well-formed
if (!filter_var($email_sender, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
}
// validate phone
if (empty($_POST["phone"])) {
$phoneErr = "Phone is required";
} else {
$phone = test_input($_POST["phone"]);
// check if phone is well-formed
if(!preg_match("/^[0-9\s\-]+$/", $phone)) {
$phoneErr = "Invalid phone number";
}
}
// validate content
if (empty($_POST["content"] )) {
$contentErr = "Content is required";
} else {
$content = test_input($_POST["content"]);
}
// send
if ( empty($nameErr) && empty($emailErr) && empty($phoneErr) && empty($contentErr) ) {
// Variables
$to = '[email protected]';
$subject = 'Contact form';
$success = 'Thank you! You will receive a response as soon as possible.';
// Message content
$content .= '';
// Headers
$headers = 'From: ' .$name_sender. ' <' .$email_sender. '>' . PHP_EOL;
$headers .= 'Reply-To: <' .$email_sender. '>' . PHP_EOL;
$headers .= 'Content-Transfer-Encoding: 8bit' . PHP_EOL;
$headers .= 'Content-Type: text/plain; charset=UTF-8' . PHP_EOL;
// Send email
mail($to, $subject,$content, $headers);
echo $success;
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
// form
?>// eind van php code
<html>
<div class="container">
<form id="contact" method="post">
<h3>Quick Contact</h3>
<h4>Contact us today, and get reply with in 24 hours!</h4>
<fieldset>
<input placeholder="Your name" type="text" name="name_sender" value="<?php echo $name_sender;?>">
<span class="error">* <?php echo $nameErr; ?></span>
</fieldset>
<fieldset>
<input placeholder="Your Email Address" type="text" name="email_sender" value="<?php echo $email_sender;?>">
<span class="error">* <?php echo $emailErr; ?></span>
</fieldset>
<fieldset>
<input placeholder="Your phone number" type="text" name="phone" value="<?php echo $phone;?>">
<span class="error">* <?php echo $phoneErr; ?></span>
</fieldset>
<fieldset>
<textarea placeholder="Type your message here.." type="text" name="content"><?php echo $content;?></textarea>
<span class="error">* <?php echo $contentErr; ?></span>
</fieldset>
<fieldset>
<button name="submit" type="submit" id="contact-submit">Submit</button></fieldset>
</form></div>
</html>
de email wordt gestuurd en ontvangen via mij hosting provider geen enkele probleem.geen spam etc.
maar er is een kleine probleem de velden wordt niet leeg nadat gegevens ingevulled en submit button gedrukt.
ik heb deze code gevonden in google :
<?php if($_POST['submit']=='Reset') $_POST = array();
//you could also use [] to dictate an empty array in more recent versions of PHP.
///rest of code ///
?>
plus ik moet value=reset toevoegen in deze lijn:
<button name="submit" type="submit" value="reset" id="contact-submit">Submit</button></fieldset>
nu ik heb geprobeerd op deze manier :
<?php
// define variables and set to empty values
$nameErr = $emailErr = $phoneErr = $contentErr = "";
$name_sender = $email_sender= $phone = $content =$succes= "";
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST['submit']=='Reset') {
// post
$name_sender = strip_tags($_POST['name_sender']);
$email_sender = strip_tags($_POST['email_sender']);
$phone = strip_tags($_POST['phone']);
$content = strip_tags($_POST['content']);
// validate name
if (empty($_POST["name_sender"])) {
$nameErr = "Name is required";
} else {
$name_sender = test_input($_POST["name_sender"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$name_sender)) {
$nameErr = "Only letters and white space allowed";
}
}
?>
de rest van code kunt u boven zien.op deze manier worden de velden leeg nadat op de submit button gedrukt.maar de email wordt niet gestuurd.dat is normaal omdat ik weet niet wat ik moet doen met deze syntax verder
<?php if($_POST['submit']=='Reset') $_POST = array();
//you could also use [] to dictate an empty array in more recent versions of PHP.
///rest of code ///
?>
kan iemand voor mij deze code corrigeren boven.
hoe precis moet het zijn ?
dank u wel