У меня есть следующий вид:PHP форма проверки: Где хлопнуть код
<!doctype html><html><head><link href="css/home.css" rel="stylesheet" type="text/css"></head><body><form>
<?php
if (isset($_REQUEST['email']))
{
$email = $_REQUEST['email'] ;
$subject = "Email submission" ;
$message = "Message body here" ;
mail("[email protected]", $subject,
$message, "From:" . $email);
header('Location: /thanks.html');
}
else
{
echo "<form method='post' action='index.php'>
Email: <br><input name='email' type='text'><br><br>
<input type='submit'>
</form>";
}
?>
</form></body></html>
Это прекрасно работает, но в последнее время представления с пустыми полями электронной почты начали приходить через. Я пытался получить поле электронной почты проверенную с 8 или более символов с этим фрагментом до формы разрешено быть представлены:
if (strlen($input) < 8){ echo "Please enter a valid email";}
Независимо от того, где я поставил код, страница возвращает внутреннюю ошибку 500 при загрузке и ничего не отображается. Я уверен, что есть что-то элементарное, что я делаю неправильно, и, возможно, я слишком долго смотрел на экран, но если кто-то может вести меня о том, как заставить его функционировать так, как должно быть, это было бы здорово.
'$ input' не определен, скорее всего вы захотите проверить' $ _POST ['email] 'вместо этого. –
Вы знаете, что вы можете подтвердить электронное письмо с помощью: '! Filter_var ($ email, FILTER_VALIDATE_EMAIL)'? И вы также можете поместить оператор if из функции if (mail()), чтобы проверить, не было ли она отправлено. – SuperDJ
Я бы просто добавил, что лучше всего разместить PHP-код в отдельном файле и потребовать его если есть запрос на отправку –