gpt4 book ai didi

使用 isset() 函数的 PHP 表单验证

转载 作者:搜寻专家 更新时间:2023-10-31 20:45:50 25 4
gpt4 key购买 nike

Robin Nixon 书中的代码:

<?php
if (isset($_POST['name'])) $name = $_POST['name'];
else $name = '(enter your name)';
echo <<<_END
<html>
<head>
<title>Test</title>
</head>
<body>
Your name is $name<br />
<form method = 'post' action = 'count.php'>
What's your name?
<input type='text' name='name' />
<input type='submit' />
</form>
</body>
</html>
_END
?>

在第二行中,我们使用 isset() 检查是否设置了变量。在第三行我们有一个条件:如果没有设置,脚本会打印“输入你的名字”。这就是我不明白的:我打开这个页面 - 它打印:

Your name (Enter your name) What is your name? (and the submission form)

根本没有输入任何内容,然后点击“发送” - 它打印:

Your name is (and does NOT print "Enter your name") What's your name? (and the submission form)

我没有输入任何内容,但函数显示变量被设置为 NULL 以外的值。为什么?如果它传递一个空值,那为什么要使用它呢?为什么不使用 empty?但是在所有程序中我都看到这样的解决方案。为什么我们必须在那里使用 isset() 函数?我不明白什么?

最佳答案

isset函数用于检查文本字段是否为 <input type='text' name='name' />有通过 POST 提交的任何数据吗在 $_POST['name'] 中捕获.

当您提交表单时,$_POST['name']为空,或为空字符串。因此,您会看到 Your name is What's your name? (and the submission form) , 作为 isset评估为 true对于空字符串。

如果你想检查文本字段是否为空,你应该使用 empty()函数,它检查 isset以及该字段是否为空白/空。

  if (!empty($_POST['name'])) $name = $_POST['name'];
else $name = '(enter your name)';

关于使用 isset() 函数的 PHP 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13461645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com