Page 1 sur 1

undefined index variable ?

Posté : 23 janv. 2007, 15:49
par Invité
Bonjour,

j'ai un formulaire d'inscription :

extrait :
<form method='post' action='detect.php' enctype='multipart/form-data'>	
	<table width="400" border="0" align="center">
	<tr>
	<td><label for="pseudo"><font color="#ff3300">* </font>Pseudo : </label></td>
	<td><input name="pseudo" type="text" maxlength="15" id="pseudo"  /></td>
	</tr>
et je récupère le pseudo de cette facon dans la page detect.php :
$pseudo=formulaires($_POST['pseudo']);
Si je ne rempli pas le champ pseudo de mon formulaire, je tombe sur l'echo que j'ai défini si aucun pseudo n'est choisi mais avec une erreur ?
Notice: Undefined index: pseudo
vous n'avez pas choisi de pseudo
Comment corriger cela ?

merci

Posté : 23 janv. 2007, 16:20
par Invité
ok,je me répond a moi même :lol:

en faite,c'est pas grave !

juste par parce que je ne vérifie pas avec isset !

etant donner que cela fonctionne sans problème, j'ai rajouter @ devant $_post !

résolu,merci au modérateur qui passera... :wink:

Posté : 23 janv. 2007, 16:25
par lux
C'est ce que j'allais dire, et de nous montrer le code qui traite la requête :wink:

Posté : 23 janv. 2007, 17:21
par Ryle
Je ne suis pas fan des @ dans le code... je trouve dommage de devoir cacher une erreur ou un avertissement, alors qu'il suffit d'un peu de rigueur pour la corriger.
Et le jour où la page ne fonctionne plus pour une raison ou pour une autre, il y aura tellement d'arobase dans le code que l'on passera 3 jours à trouver laquelle il faut enlever pour savoir ce qui fait planter le script...

Dans ton cas, le test est simple. Le message d'erreur signal que l'index "pseudo" que tu essayes d'utiliser dans $_POST n'est pas défini. Il te suffit donc de vérifier s'il existe avant de l'utiliser, par exemple :
// si la variable n'est pas définie OU si la variable est vide
if ( !isSet($_POST['pseudo']) || empty($_POST['pseudo']) ) {
  echo "vous n'avez pas choisi de pseudo";
}
else {
  ...
}