Eu tenho um formulário numa página que se submete a outra página. Lá, ele verifica se o correio de entrada está preenchido. Se sim, faça alguma coisa e se não estiver preenchido, faça outra coisa. Eu não'não entendo porque ele sempre diz que está configurado, mesmo que eu envie um formulário vazio. O que está faltando ou errado?
passo2.php:
<form name="new user" method="post" action="step2_check.php">
<input type="text" name="mail"/> <br />
<input type="password" name="password"/><br />
<input type="submit" value="continue"/>
</form>
step2_check:
if (isset($_POST["mail"])) {
echo "Yes, mail is set";
} else {
echo "N0, mail is not set";
}
A maioria das entradas de formulário são sempre definidas, mesmo que não estejam preenchidas, portanto você deve verificar o vazio também.
Uma vez que !empty()
já está verificando por ambos, você pode utilizar isto:
if (!empty($_POST["mail"])) {
echo "Yes, mail is set";
} else {
echo "No, mail is not set";
}