罗宾尼克松书中的代码:
<?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()
。在第三行中,我们有一个条件:如果没有设置,脚本会打印“输入您的姓名”。这就是我不明白的:我打开这个页面 - 它打印:
你的名字(输入你的名字) 你叫什么名字?(和提交表格)
根本没有输入任何内容,然后点击“发送” - 它打印:
你的名字是(并且不打印“输入你的名字”)你叫什么名字?(和提交表格)
我没有输入任何内容,但函数说该变量设置为NULL
. 为什么?如果它传递一个空值,那么为什么要使用它?为什么不使用empty
?但是在所有程序中,我都看到了这样的解决方案。为什么我们必须在isset()
那里使用函数?我不明白什么?