PHP de Validation de Formulaire avec la fonction isset() de la fonction

Code de Robin Nixon livre:

<?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
?>

Dans la deuxième ligne, nous vérifions est variable définie ou pas avec isset(). Dans la troisième ligne, nous avons une condition: si elle n'est pas définie, le script prints "entrez votre nom". C'est ce que je ne comprends pas: j'ai ouvert cette page - elle imprime:

Votre nom (Entrez votre nom) Quel est votre nom? (et le formulaire de soumission)

N'entrez rien du tout, puis cliquez sur "envoyer" - elle imprime:

Votre nom est (et n'est PAS imprimé "Entrez votre nom") Quel est votre nom? (et le formulaire de soumission)

Je n'ai pas entrer quoi que ce soit mais la fonction a dit que la variable a été définie sur une valeur autre que NULL. Pourquoi? Si il passe à une valeur vide, alors pourquoi l'utiliser? Pourquoi ne pas utiliser empty? Mais dans tous les programmes je vois solution de ce genre. Pourquoi devons-nous utiliser isset() fonction? Que n'ai-je pas compris?

var_dump($_POST['name']) va vous montrer que c'est un string(0) (vide/chaîne de longueur nulle). TOUTES les valeurs sortant de _GET/_POST sont des chaînes de caractères, indépendamment de leur contenu réel.
double possible de Pourquoi vérifier à la fois la fonction isset() et !empty()

OriginalL'auteur 9Algorithm | 2012-11-19