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
- Afficher taille dossier windows - Guide
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- Windows 11 afficher d'autres options - Guide
- Afficher mot de passe wifi android - Guide
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