Я пытаюсь создать простую форму PHP, в которой пользователь должен ввести один из шести предопределенных паролей, это будут TSS01, TSS02, TSS03, TSS04, TSS05 и TSS06.Проверка формы PHP с помощью предопределенных паролей
Форма в настоящее время функционирует должным образом при использовании только числовых паролей.
PHP кодирование следующим образом:
<?php
if(empty($_POST['name']) || empty($_POST['code'])) {
die(print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">");
}
$name=$_POST['name'];
$code=$_POST['code'];
$to='[email protected]';
$headers = 'From: '.$name."\r\n" .
'Reply-To: '.$name."\r\n" .
'X-Mailer: PHP/' . phpversion();
$subject = 'SECRET SUPPER FORM ENTRY';
$body='Entry References'."\n\n";
$body.='Name: '.$name."\n";
$body.='Code: '.$code."\n";
if(!empty($_POST['code']) && $_POST['code'] == TSS01) {
$submit = mail($to, $subject, $body, $headers, "From: <$name>");
print "<meta http-equiv=\"refresh\" content=\"0;URL=success.html\">";
} else {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">";
}
?>
Как эта форма будет проверена любым шести из этих паролей? Пароли уже установлены и не могут быть изменены, они должны быть именно такими.
Вы забыли кавычки TSS01. Попробуйте '$ _POST ['code'] == 'TSS01'' –
При проверке' $ _POST [' code '] 'проверьте все пароли, а не только TSS01. – Celeo