Я пытаюсь создать форму на веб-сайте (http://youngliferaffle.com/) с помощью HTML, PHP и загрузочного твиттера. Я просмотрел несколько руководств о том, как их создать, но я думаю, что у меня возникают проблемы с Locations - как при перемещении пользователя, если они делают ошибку или после отправки своих ответов. Я также очень новичок в PHP. Я очень благодарен за помощь! Спасибо!Создание формы с использованием HTML и PHP
Основные вопросы:
- «Слишком много перенаправляет на веб-странице»/возможно из-за печенья
- не получили письмо от представлений
- Пользователь не перенаправлены на нужную страницу после подачи или из-за плохой подачи
Вот часть моей HTML формы:
<form method="POST" action="contact-form-submission.php">
<fieldset>
<label><strong>Sign-Up</strong></label>
<input type="text" class="name" name="cname" id="name" placeholder="Full Name"></input>
<input type="text" class="phone" name="phone" id="phone" placeholder="Phone Number"></input>
<input type="text" class="email" name="email" id="email" placeholder="Email Address"></input>
<div class="form-actions">
<input type="submit" name="save" value="Send">
</div>
</fieldset>
</form>
Вот мой PHP форма
// check for form submission - if it doesn't exist then send back to contact form
if (!isset($_POST['save']) || $_POST['save'] != 'contact') {
header('Location: contact-form-submission.php');
exit;
}
// get the posted data
$name = $_POST['contact_name'];
$email_address = $_POST['contact_email'];
$phone = $_POST['contact_phone'];
// check that a name was entered
if (empty($name))
$error = 'You must enter your name.';
// check that an email address was entered
elseif (empty($email_address))
$error = 'You must enter your email address.';
// check for a valid email address
elseif (!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/', $email_address))
$error = 'You must enter a valid email address.';
// check that a phone number was entered
elseif (empty($phone))
$error = 'You must enter a phone number.';
// check if an error was found - if there was, send the user back to the form
if (isset($error)) {
//Am I putting the wrong location?
header('Location: contact-form-submission.php?e='.urlencode($error)); exit;
}
// write the email content
$email_content = "Name: $name\n";
$email_content .= "Email Address: $email_address\n";
$email_content .= "Phone:\n\n$phone";
// send the email
mail ("myemail.com", "New Contact Message", $email_content);
// send the user back to the form
//And This is where I'm having trouble with! the Location part
header('Location: contact-form-submission.phps='.urlencode('Thank you for your message.'));
exit;
Какая конкретная проблема у вас есть? –
Когда выполняется этот скрипт? Это после GET contact-form-submission.php, POST contact-form-submission.php или какого-либо другого URL-адреса? – Mateusz
Если вы попытаетесь отправить форму, даже без правильного ввода, она перенаправляет вас и говорит, что на веб-страницу слишком много перенаправлений (http://youngliferaffle.com/contact-form-submission.php). Кроме того, даже если я правильно его заполнил, он говорит об этом, и я не получаю электронное письмо. – user2363671