0
<?php
$name_error = $email_error = $phone_error = $url_error = $last_name_error= "";
$firstName = $lastName = $email = $phone = $message = $url = $success = "";
if (isset($_POST["sendMessage"])) {
if (empty($_POST["firstName"])) {
$name_error = "Name is required";
} else {
$firstName = test_input($_POST["firstName"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$firstName)) {
$name_error = "Only letters and white space allowed";
}
}
if (empty($_POST["lastName"])) {
$last_name_error = "Name is required";
} else {
$lastName = test_input($_POST["lastName"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$lastName)) {
$last_name_error = "Only letters and white space allowed";
}
}
if (empty($_POST["email"])) {
$email_error = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$email_error = "Invalid email format";
}
}
if (empty($_POST["phone"])) {
$phone_error = "Phone is required";
} else {
$phone = test_input($_POST["phone"]);
// check if e-mail address is well-formed
if (!preg_match("/^(\d[\s-]?)?[\(\[\s-]{0,2}?\d{3}[\)\]\s-]{0,2}?\d{3}[\s-]?\d{4}$/i",$phone)) {
$phone_error = "Invalid phone number";
}
}
if (empty($_POST["message"])) {
$message = "";
} else {
$message = test_input($_POST["message"]);
}
if ($name_error == '' and $last_name_error == '' and $email_error == '' and $phone_error == ''){
$message_body = '';
unset($_POST['sendMessage']);
foreach ($_POST as $key => $value){
$message_body .= "$key: $value\n";
}
$to = '[email protected]';
$subject = '[email protected]';
if (mail($to, $subject, $message)){
$success = "Message sent, thank you for contacting us!";
$firstName = $lastName = $email = $phone = $message = '';
}
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
我試圖使這個聯繫表格驗證。但它不起作用。每當我發送電子郵件形式的現場服務器只有消息發送,但名稱,電話,電子郵件不發送。請有人幫助我。我從上一天開始工作,但沒有工作。聯繫表格驗證在php
好吧,我現在想改變這一點。但如果我給出錯誤的名稱,電話號碼或電子郵件,它不會顯示任何消息。請回答關於這個問題 – Farjana
爲什麼它應該?如果一切正常,你只有一個「IF」條件,你發送電子郵件......沒有「其他」條件。你必須做一個'else',然後簡單地'echo'錯誤信息 – Twinfriends
是不是他想要發送'$ message_body'? –