Я получаю странную причуду с моим базовым сценарием контактов, пересылая данные формы на мою почту.Contactscript.php не возвращает поля
Я пытаюсь получить форму, чтобы переслать четыре поля ввода на мой адрес электронной почты, но до сих пор я получаю только «телефон» и «сообщение», и любые попытки добавить $ email $ name будут приводят к тому, что пользователь не направляется на thanks.php. Вот сценарий:
<?php
// VALUES FROM THE FORM
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['msg'];
$phone = $_POST['phone'];
// ERROR & SECURITY CHECKS
if ((!$email) ||
(strlen($_POST['email']) > 200) ||
(!preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email))
)
{
print "Error: Invalid E-Mail Address";
exit;
}
if ((!$name) ||
(strlen($name) > 100) ||
(preg_match("/[:[email protected]\<\>]/", $name))
)
{
print "Error: Invalid Name";
exit;
}
if (preg_match("#cc:#i", $message, $matches))
{
print "Error: Found Invalid Header Field";
exit;
}
if (!$message)
{
print "Error: No Message";
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
print "Error: Invalid E-Mail Address";
exit;
}
if (FALSE) {
print "Error: You cannot send to an email address on the same domain.";
exit;
}
// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=UTF-8\n";
$headers .= "Content-Transfer-Encoding: 8bit"; // rivi kertoo, että käytät merkkejä, jotka ovat perus 7-bittisen US-ASCII:n ulkopuolella (esim. skandeja)
$headers .= "From: $name <$email>\n";
$recipient = "[email protected]";
$subject = "Asiakkaan yhteydenotto";
$message = wordwrap($message, 1024);
$phone = wordwrap($phone, 1024);
// SEND THE EMAIL TO YOU
$message = "Phone: $phone\r\n" . $message;
mail($recipient, $subject, $message, $headers);
// REDIRECT TO THE THANKS PAGE
header("location: thanks.php");
?>
Что я делаю неправильно, здесь? Мне нужны эти имена и электронные письма от потенциальных клиентов.
Прежде всего. Я не вижу вашу форму, так называются ваши входы? –
Да. Четыре поля ввода в HTML-форме называются «имя», «электронная почта», «телефон», «msg» - соответственно. EDIT: Ах, верно. Я забыл упомянуть, кажется, что «отправитель» перезаписывается адресом веб-хостинга, отправляющим электронное письмо в его целевое местоположение. –
Попробуйте '$ message =" Телефон: ". $ phone. "\ n". "Эл. адрес: " . $ email. "\ n". «Сообщение:». $ message. "\ n"; ' –