J'essaie d'exécuter du code à partir d'un book. Il semble y avoir un problème avec le code.Message d'erreur: Erreur fatale: Impossible d'utiliser la fonction return> valeur dans le contexte d'écriture dans
Voici le message d'erreur:
Fatal error: Can't use function return value in write context in /Applications/MAMP/htdocs/Eclipse-Workspace/simpleblog/test.php on line 24
Voici le code référencé dans le message (à partir de la ligne 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 />";
}
Je vous serais reconnaissant toute aide. S'il vous plaît laissez-moi savoir si je dois fournir plus d'informations
Merci beaucoup les gars. C'était très rapide. La solution fonctionne très bien.
Le problème est que la fonction empty() doit être appliquée uniquement aux variables directes.
Pour référence future: Le code est de PHP pour les débutants absolus »par Jason Lengstorf (2009), pages 90-91, chapitre 3, $ _SESSION
code corrigé:
//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 />";
}
Merci beaucoup. Cela marche. J'ai mis à jour la question avec le code corrigé au cas où quelqu'un d'autre utilise ce livre et se heurte au problème. – ntc
Merci beaucoup d'avoir posé et répondu à cette question avec le code corrigé. Je suis nouveau à PHP et à la programmation, et quand je rencontre une faute de frappe dans le livre, je pense toujours que c'est juste moi qui ne l'obtiens pas. C'est un tel soulagement de mettre les bonnes choses dedans et de voir ça fonctionner! –
Je pense qu'il devrait être noté, que ce comportement affecte seulement les versions de PHP <5.5 comme indiqué à [php.function.empty] (http://php.net/manual/en/function.empty.php) –