Проверка формы PHP по заранее определенным паролям

Я пытаюсь создать простую форму PHP, где пользователь должен ввести один из шести предопределенных паролей, это будут TSS01, TSS02, TSS03, TSS04, TSS05 и TSS06.

Форма в настоящее время работает правильно, когда используются только числовые пароли.

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\">";

}
?>

Как эту форму можно проверить шестью из этих паролей?
Пароли уже установлены и не могут быть изменены, они должны быть именно такими.

0

Решение

Вы можете сделать что-то вроде:

 $passwords = array('TSS01', 'TSS02', 'TSS03', 'TSS04', 'TSS05', 'TSS06');

// !empty( $_POST['code'] ) - you dont need to check again if is empty, you already do it on the firsts lines
if( in_array($_POST['code'], $passwords)) {
// Passwords is ok
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]