Я новичок в развивающемся мире в Интернете. Пожалуйста, не стесняйтесь, чтобы иметь некоторые ошибки и недостаточные знания.Php Input Validation не отвечает
Я пытаюсь изучить процесс проверки ввода пользователей. Ниже мой код:
<?php
if($_POST['formSubmit'] == "Search")
{
$errorMessage = "";
if(empty($_POST['formName']))
{
$errorMessage .= "<li>No Input</li>";
}
$varName = $_POST['formName'];
if(!empty($errorMessage))
{
echo("<p>There was an error with your form:</p>\n");
echo("<ul>" . $errorMessage . "</ul>\n");
}
}
?>
<form action="index.php" method="post">
<input type="text" name="formName" value="<?=$varName;?>">
<input type="Submit" name="formSubmit" value=" Search">
</form>
То, что я думаю, что должно произойти, когда пользователь нажимает на кнопку поиска без ввода ничего сообщение об ошибке будет всплывающее, но я не понимаю, почему его не отвечает или вторя ошибку сообщение, я проверяю имена и значения, но, увы, оцените всю помощь/предложения, которые вы могли бы дать tnx.
Спасибо за ответ все, получил его в работоспособное^_^
Значение вашей кнопки отправки имеет дополнительное пространство спереди, поэтому блок if не выполняется. – kinghfb
Также, если вы просто сравниваете '$ _POST ['formSubmit']' в 'if' и по какой-либо причине кто-то не передает никаких параметров с этим именем, он выдает предупреждение. Чтобы этого избежать, вы можете проверить, было ли передано какое-либо значение или нет, прежде чем сравнивать его с помощью 'isset()' – Naryl