Afficher une condition et pas une erreur PHP
                                    
                        leo                    
                                    -
                                     
léo -
        léo -
        Bonjour,  
Comme je l'ai précisé dans le titre, au lieu de m'afficher "Qu\'est ce que vous faites la ?", je reçois un jolie message d'erreur de PHP qui me dit :
"Notice: Undefined index: pseudo in D:\wamp\www\montessori\administration.php on line 45"
Je sait que pseudo n'est pas défini, c'est justement le but de mon petit script de l'afficher ! Comment faire ?
<?php
if (isset($_POST['prenom']) AND isset($_POST['mot_de_passe']))
{
echo 'Qu\'est ce que vous faites la ?';
}
else
{
echo $_POST['pseudo'];
}
?>
Merci !
                
            
                
    
    
    
        Comme je l'ai précisé dans le titre, au lieu de m'afficher "Qu\'est ce que vous faites la ?", je reçois un jolie message d'erreur de PHP qui me dit :
"Notice: Undefined index: pseudo in D:\wamp\www\montessori\administration.php on line 45"
Je sait que pseudo n'est pas défini, c'est justement le but de mon petit script de l'afficher ! Comment faire ?
<?php
if (isset($_POST['prenom']) AND isset($_POST['mot_de_passe']))
{
echo 'Qu\'est ce que vous faites la ?';
}
else
{
echo $_POST['pseudo'];
}
?>
Merci !
        A voir également:         
- Afficher une condition et pas une erreur PHP
- Excel cellule couleur si condition texte - Guide
- Instagram une erreur s'est produite - Forum Instagram
- Afficher taille dossier windows - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. - Forum VB / VBA
- Mise en forme conditionnelle "compris entre" ✓ - Forum Excel
5 réponses
                        
                    Pas d'erreur flagrante dans le formulaire, mais tout est illogique dans ta vérification.
Tu testes si un champ 'prenom' est défini alors qu'il n'y a aucun champ prénom de défini.
De plus, si les champs sont définis, tu affiches Qu'est ce que vous faites la ?
Et s'ils ne sont pas définis, tu essayes d'afficher le pseudo (alors que justement il n'est pas défini).
De plus, tu testes l'existence de champs, mais pas leurs valeurs...
Tu peux essayer ça, c'est (un peu) plus logique, et ça ne devrait pas planter
    
                Tu testes si un champ 'prenom' est défini alors qu'il n'y a aucun champ prénom de défini.
De plus, si les champs sont définis, tu affiches Qu'est ce que vous faites la ?
Et s'ils ne sont pas définis, tu essayes d'afficher le pseudo (alors que justement il n'est pas défini).
De plus, tu testes l'existence de champs, mais pas leurs valeurs...
Tu peux essayer ça, c'est (un peu) plus logique, et ça ne devrait pas planter
<?php
if (isset($_POST['pseudo']) AND isset($_POST['mot_de_passe'])) {
  echo $_POST['pseudo'];
}
else {
  echo 'Qu\'est ce que vous faites la ?';
}
?>
                
                
                        
                    Bonjour
Ben c'est normal...
Si tes 3 variables $_POST[] correspondent à 3 champs d'un même formulaire, elles sont définies toutes les 3 à la fois, ou pas définies.
Et j'imagine que tu es dans le cas où tu n'es pas passé par le formulaire, donc aucune n'est définie.
donc ton test rend faux
donc on exécute le else
et on tombe sur $_POST['pseudo'] qui n'existe pas.
Peux-tu montrer le code du formulaire qui appelle ce script ?
Et de toutes manières, le test que tu fais pour la vérification me semble hautement fantaisiste. Qu'est-ce que tu veux vérifier ?
    
                Ben c'est normal...
Si tes 3 variables $_POST[] correspondent à 3 champs d'un même formulaire, elles sont définies toutes les 3 à la fois, ou pas définies.
Et j'imagine que tu es dans le cas où tu n'es pas passé par le formulaire, donc aucune n'est définie.
donc ton test rend faux
donc on exécute le else
et on tombe sur $_POST['pseudo'] qui n'existe pas.
Peux-tu montrer le code du formulaire qui appelle ce script ?
Et de toutes manières, le test que tu fais pour la vérification me semble hautement fantaisiste. Qu'est-ce que tu veux vérifier ?
                        
                    Bonjour,
Si pseudo n'est pas défini cela va invariablement lever une exception. Les 2 solutions que je proposerai sont :
-réutiliser le
-utiliser un
    
                Si pseudo n'est pas défini cela va invariablement lever une exception. Les 2 solutions que je proposerai sont :
-réutiliser le
if(isset(...))dans le
else {}
-utiliser un
try{echo $_POST['pseudo'];}
catch{ echo "pseudo non défini";}
                
                
                        
                    Le voila
<form name="identification" method="post" action="administration.php">
<label>Identifiant : </label>
<input placeholder="Pseudo" name="pseudo" size="20" required/>
<br/>
<label>Mot de passe : </label>
<input placeholder="Mot de passe" name="mot_de_passe" type="password" size="20" required/>
<br/>
<br/>
<input type="submit" value="Valider" /></td>
</form>
    
                <form name="identification" method="post" action="administration.php">
<label>Identifiant : </label>
<input placeholder="Pseudo" name="pseudo" size="20" required/>
<br/>
<label>Mot de passe : </label>
<input placeholder="Mot de passe" name="mot_de_passe" type="password" size="20" required/>
<br/>
<br/>
<input type="submit" value="Valider" /></td>
</form>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question