我正在尝试从书中运行一些代码。代码似乎有问题。
这是错误消息:
致命错误:无法在第 24 行 /Applications/MAMP/htdocs/Eclipse-Workspace/simpleblog/test.php 的写入上下文中使用函数返回值
这是消息中引用的代码(从第 24 行开始)
if (!empty(trim($_POST['username']))
&& !empty(trim($_POST['email']))) {
// Store escaped $_POST values in variables
$uname = htmlentities($_POST['username']);
$email = htmlentities($_POST['email']);
$_SESSION['username'] = $uname;
echo "Thanks for registering! <br />",
"Username: $uname <br />",
"Email: $email <br />";
}
我将不胜感激任何帮助。如果我需要提供更多信息,请告诉我
非常感谢你们。那非常快。该解决方案效果很好。
问题是 empty() 函数只需要应用于直接变量。
供将来参考:代码来自 Jason Lengstorf (2009) 的“PHP for Absolute Beginners”,第 90-91 页,第 3 章,$_SESSION
更正的代码:
//new - Created a variable that can be passed to the empty() function
$trimusername = trim($_POST['username']);
//modified - applying the empty function correctly to the new variable
if (!empty($trimusername)
&& !empty($trimusername)) {
// Store escaped $_POST values in variables
$uname = htmlentities($_POST['username']);
$email = htmlentities($_POST['email']);
$_SESSION['username'] = $uname;
echo "Thanks for registering! <br />",
"Username: $uname <br />",
"Email: $email <br />";
}