undefined index variable ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : undefined index variable ?

par Ryle » 23 janv. 2007, 17:21

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 {
  ...
}

par lux » 23 janv. 2007, 16:25

C'est ce que j'allais dire, et de nous montrer le code qui traite la requête :wink:

par Invité » 23 janv. 2007, 16:20

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:

undefined index variable ?

par Invité » 23 janv. 2007, 15:49

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