У меня есть форма на одной странице, которая отправляется на другую страницу. Там она проверяет, заполнена ли входная почта. Если да, то делает что-то, а если не заполнен, то делает что-то еще. Я не понимаю, почему он всегда говорит, что он установлен, даже если я отправляю пустую форму. Чего не хватает или что не так?
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";
}
Большинство вводимых данных в форме всегда заданы, даже если они не заполнены, поэтому необходимо проверять и пустоту.
Поскольку !empty()
уже проверяет и то, и другое, вы можете использовать эту функцию:
if (!empty($_POST["mail"])) {
echo "Yes, mail is set";
} else {
echo "No, mail is not set";
}
От php.net, задается
возвращает true, если var существует и имеет значение, отличное от null, и false в противном случае.
пустое пространство рассматривается как совокупность. Вам нужно использовать функцию empty() для проверки все нулевые варианты.
Вы можете просто использовать:
if($_POST['username'] and $_POST['password']){
$username = $_POST['username'];
$password = $_POST['password'];
}
Кроме того, с помощью пустых()
if(!empty($_POST['username']) and !empty($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
}
Добавьте следующий атрибут для ввода текста форма: требуется="не требуется"
в.
Если форма не заполнена, она не позволит пользователю отправить форму.
Ваш новый код будет:
<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";
}
Используйте !пустой()
вместо isset () и
. Потому что isset () и всегда будет возвращать true в вашем случае.
if (!empty($_POST["mail"])) {
echo "Yes, mail is entered";
} else {
echo "No, mail is not entered";
}
<?php
if(isset($_POST['mail']) && $_POST['mail']!='') {
echo "Yes, mail is set";
}else{
echo "N0, mail is not set";
}
?>
Может быть, вы можете попробовать это:
if (isset($_POST['mail']) && ($_POST['mail'] !=0)) { echo "Yes, mail is set"; } else { echo "No, 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";
}
?>
Вы можете попробовать,
<?php
if (isset($_POST["mail"])) {
echo "Yes, mail is set";
}else{
echo "N0, mail is not set";
}
?>
Проверить, если форма была отправлена, во-первых, поле. Вы также должны очистить поле, чтобы помешать хакерам.
форма название=на"новый пользователь" и метод=то"Пост" действие="и step2_check.на PHP" и> в <тип входного=и"текст" имя="по почте" и/> <БР /> в <тип входного=на"пароль" имя=на"пароль" и/><БР /> в <тип входного=на"Отправить" и код="в SubmitForm" имя= "в SubmitForm на" значение"и далее" и/> </форма>
step2_check:
``
если (использования isset($_POST, где не SubmitForm на"])) { $Написать = sanitize_text_field(stripslashes($_POST, где не SubmitForm на"])); если(!пустой($электронной почты)) Эхо "Да, почта находится на"; еще Эхо "ч0, почты не установлен и"; } }
``
Давайте думаю, что это HTML-форму step2.php
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>
Я думаю, что вам это нужно для вашей базы данных, так что вы можете назначить вашу HTML форму в PHP переменную, теперь вы можете использовать реальные строку и ниже должен быть ваш
step2_check.php
if(isset($_POST['mail']) && !empty($_POST['mail']))
{
$mail = mysqli_real_escape_string($db, $_POST['mail']);
}
Где $DB-это подключение к базе данных.
Ответить на вопрос: составляетсовокупность и пустые вместе дает три условия. Это может быть использовано в JavaScript с помощью команды "Аякса", а также.
$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."!";
Вы можете попробовать это:
if (isset($_POST["mail"]) !== false) {
echo "Yes, mail is set";
}else{
echo "N0, mail is not set";
}