PHP中的基本表单验证不需要';行不通
我是php的初学者,我不知道为什么这段代码不能正常工作,而它应该正常工作,我正在尝试做一个简单的用户验证:PHP中的基本表单验证不需要';行不通,php,forms,validation,Php,Forms,Validation,我是php的初学者,我不知道为什么这段代码不能正常工作,而它应该正常工作,我正在尝试做一个简单的用户验证: $user=$_POST['user']; $message=$_POST['message']; if ( !isset($user) || !isset($message) || $user == ' ' || $message == ' ') echo " please fill a valid user and message"; 谢谢对$\u
$user=$_POST['user'];
$message=$_POST['message'];
if ( !isset($user) || !isset($message) || $user == ' ' || $message == ' ')
echo " please fill a valid user and message";
谢谢对$\u POST数组执行isset()检查以确保不会收到大量“未定义索引”警告是有意义的
也许这样的东西对你有用
$user = isset($_POST['user']) ? $_POST['user'] : null;
$message = isset($_POST['message']) ? $_POST['message'] : null;
if (empty($user) || empty($message)) echo " please fill a valid user and message";
由于您是PHP新手,让我解释一下这一部分:
$user = isset($_POST['user']) ? $_POST['user'] : null;
基本上,如果$\u POST数组定义了一个“user”项,它会将$user设置为$\u POST['user']。否则,$user变量设置为null。如果不确定数组中是否定义了具有某些索引的元素,通常最好使用isset()进行检查
当然,这只有在HTML表单正确的情况下才有效
这是您可以使用的表单示例
<form action="/test.php" method="POST">
<input type="text" name="user" placeholder="Enter your username here">
<input type="text" name="message" placeholder="Enter your message here">
<input type="submit" value="send">
</form>
这部分代码
$user=''| |$message=''
正在检查空格,而不是预期的“空”。只需使用empty()
或更好的三元运算符。您还应该发布与此相关的HTML表单,避免猜测。有一种方法可以进一步缩短此表单无需检查isset(),然后检查empty(),empty确实如此Hanks Fred,Tom将编辑我的答案并添加一些详细信息,特别是关于此示例中isset()和empty()的用法
if (empty($_POST['user']) || empty($_POST['message'])) echo " please fill a valid user and message";