Estoy intentando ejecutar algún código de book. Parece que hay un problema con el código.Mensaje de error: Error fatal: No se puede usar el valor de retorno de función en el contexto de escritura en
Aquí es el mensaje de error:
Fatal error: Can't use function return value in write context in /Applications/MAMP/htdocs/Eclipse-Workspace/simpleblog/test.php on line 24
Aquí es el código de referencia en el mensaje (que comienza en la línea 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 />";
}
Agradecería cualquier ayuda. Por favor, hágamelo saber si necesito proporcionar más información
Muchas gracias chicos. Eso fue muy rápido. La solución funciona genial
El problema es que la función empty() debe aplicarse solo a las variables directas.
Para futuras consultas: El código es de 'PHP para principiantes absolutos' por Jason Lengstorf (2009), páginas 90-91, Capítulo 3, $ _SESSION
código corregido:
//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 />";
}
Muchas gracias. Esto funciona. He actualizado la pregunta con el código corregido en caso de que alguien más esté usando este libro y se encuentre con el problema. – ntc
Muchas gracias por preguntar y responder a esta pregunta con el código corregido. Soy nuevo en PHP y en la programación, y cuando me encuentro con un error tipográfico en el libro, casi siempre me imagino que es solo que no lo estoy obteniendo. ¡Es un alivio poner lo correcto y ver cómo funciona! –
Creo que debe tenerse en cuenta, que este comportamiento solo afecta a las versiones de PHP <5.5 como se indica en [php.function.empty] (http://php.net/manual/en/function.empty.php) –