php - not - Si isset $_POST
php isset post var (13)
Agregue el siguiente atributo al formulario de entrada de texto: required="required"
. Si el formulario no está completo, no permitirá que el usuario envíe el formulario.
Su nuevo código será:
<form name="new user" method="post" action="step2_check.php">
<input type="text" name="mail" required="required"/> <br />
<input type="password" name="password" required="required"/><br />
<input type="submit" value="continue"/>
if (isset($_POST["mail"])) {
echo "Yes, mail is set";
}
Tengo un formulario en una página que se envía a otra página. Allí, verifica si el correo de entrada está lleno. Si es así, haz algo y, si no está lleno, haz otra cosa. No entiendo por qué siempre dice que está configurado, incluso si envío un formulario vacío. ¿Qué falta o qué está mal?
step2.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";
}
Cambiarlo a esto:
if (isset($_POST["mail"]) && !empty($_POST["mail"])) {
echo "Yes, mail is set";
}else{
echo "N0, mail is not set";
}
Entonces $ _POST siempre está configurado, pero su contenido puede estar vacío.
Dado que! Empty () ya verifica si el valor está establecido, también puede usar esta versión:
if (!empty($_POST["mail"])) {
echo "Yes, mail is set";
}else{
echo "N0, mail is not set";
}
Para responder a la pregunta publicada: isset y empty together da tres condiciones. Esto puede ser usado por Javascript con un comando ajax también.
$errMess="Didn''t test"; // This message should not show
if(isset($_POST["foo"])){ // does it exist or not
$foo = $_POST["foo"]; // save $foo from POST made by HTTP request
if(empty($foo)){ // exist but it''s null
$errMess="Empty"; // #1 Nothing in $foo it''s emtpy
} else { // exist and has data
$errMess="None"; // #2 Something in $foo use it now
}
} else { // couldn''t find ?foo=dataHere
$errMess="Missing"; // #3 There''s no foo in request data
}
echo "Was there a problem: ".$errMess."!";
Puedes intentar esto:
if (isset($_POST["mail"]) !== false) {
echo "Yes, mail is set";
}else{
echo "N0, mail is not set";
}
Puedes probar,
<?php
if (isset($_POST["mail"])) {
echo "Yes, mail is set";
}else{
echo "N0, mail is not set";
}
?>
Puedes simplemente usar:
if($_POST[''username''] and $_POST[''password'']){
$username = $_POST[''username''];
$password = $_POST[''password''];
}
Alternativamente, use empty()
if(!empty($_POST[''username'']) and !empty($_POST[''password''])){
$username = $_POST[''username''];
$password = $_POST[''password''];
}
Quizás puedas probar este:
if (isset($_POST[''mail'']) && ($_POST[''mail''] !=0)) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; }
Si envía el formulario en blanco, aún se enviará $ _POST [''mail''], pero el valor está vacío. Para verificar si el campo está vacío, debe verificar
if(isset($_POST["mail"]) && trim($_POST["mail"]) != "") { .. }
Use !empty()
isset()
lugar de isset()
. Porque isset()
siempre devolverá verdadero en su caso.
if (!empty($_POST["mail"])) {
echo "Yes, mail is entered";
} else {
echo "No, mail is not entered";
}
Use !empty
isset
lugar de isset
. isset return true para $_POST
porque $_POST
array es superglobal y siempre existe (set).
O mejor use $_SERVER[''REQUEST_METHOD''] == ''POST''
Desde php.net , isset
Devuelve TRUE si var existe y tiene un valor distinto de NULL, FALSE de lo contrario.
el espacio vacío se considera como conjunto. Debe usar empty () para verificar todas las opciones nulas.
<?php
if(isset($_POST[''mail'']) && $_POST[''mail'']!='''') {
echo "Yes, mail is set";
}else{
echo "N0, mail is not set";
}
?>
<form name="new user" method="post" action="step2_check.php">
<input type="text" name="mail" required="required"/> <br />
<input type="password" name="password" required="required"/><br />
<input type="submit" value="continue"/>
</form>
<?php
if (!empty($_POST["mail"])) {
echo "Yes, mail is set";
}else{
echo "N0, mail is not set";
}
?>