Index indéfini (Undefined index)

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 : Index indéfini (Undefined index)

par Dgse » 26 mars 2006, 16:37

Bonjour

Declare tes variables en debut de page et tu aura ton probleme de UNDEFINED résolu, ensuite fais un test d'existense des variables ..

@+ Dgse

Index indéfini (Undefined index)

par Darth Vador » 26 mars 2006, 13:49

Salut à tous,

Je suis en train de construire un formulaire qui s'étale sur plusieurs pages : la 1ère propose un formulaire, la deuxième page envoie les données de la première page et propose la suite du formulaire, la troisième inclut la date, envoie le tout dans la base de données et envoie un mail de remerciements.
Dans la deuxième page, j'ai posé une vérification sur le champ email afin d'éviter que quelqu'un ne s'inscrive deux fois. Pareillement, sur la troisième page, une vérification est effectuée afin d'éviter que deux personnes ne choisissent le même pseudo (login). Dans un cas comme dans l'autre, l'internaute est redirigé vers la page adéquate s'il est dans une situation "conflictuelle" (je sens que ce n'est pas clair : j'espère que vous me comprendrez).

Enfin bon, le problème, c'est que je n'arrive même plus à atteindre la troisième page : après avoie envoyé les données de la deuxième, je suis redirigé vers la première avec, en prime des messsages d'erreur :
Notice: Undefined index: date_inscription
Et cela est indiqué pour tous les champs (ou variables c'est comme on veut) qui sont repris dans cette première partie de formulaire. A noter également que je ne parviens pas à initialiser la variable "auth" ($auth) (problème de compétences personnelles, entendons nous bien) : ainsi j'ai le message :
Notice: Undefined variable: auth
Enfin trève de bavardages (je sais je suis trop littéraire) voici le code de ce formulaire :

Inscription1.php :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd"">

<?php 
include "commun/connexion.inc.php";
?>
...

Code : Tout sélectionner

<FORM action="inscription_p2.php" method="post" name="page_1" Entype="text/plain" onSubmit="return(VerifForm(this))"> <TABLE align="center" width="95%" border="0" bgcolor="#B8B8F5"> <TR> <TD><P></P></TD> </TR> <TR> <TD><LABEL for="prenom">Pr&eacute;nom * : </LABEL> <TD><INPUT name="prenom" type="texte" size="40"> </TR> <TR> <TD><label for="email">E-mail * : </label> <TD><INPUT name="email" type="texte" size="40"> </TR> <TR> <TD><LABEL for="code postal">Code postal * : </LABEL> <TD><INPUT name="code_postal" type="texte" size="10"> </TR> <TR> <TD><LABEL for="ville">Ville * : </LABEL> <TD><INPUT name="ville" type="texte" size="30"> </TR> <TR> <TD><label for="pays">Pays * : </label> <TD><select name="pays"> <option value="code">Afghanistan</option> <option value="code">Algérie</option> <option value="code">Allemagne</option> <option value="code">Arménie</option> <option value="code">Autriche</option> <option value="code">Azerbaïdjan</option> <option value="code" selected>Belgique</option> <option value="code">Canada</option> <option value="code">Danemark</option> <option value="code">Espagne</option> <option value="code">Etats-Unis</option> <option value="code">Finlande</option> <option value="code">France</option> <option value="code">Grande <option value="code">Grèce</option> <option value="code">Hongrie</option> <option value="code">Lettonie</option> <option value="code">Lituanie</option> <option value="code">Maroc</option> <option value="code">Mexique</option> <option value="code">Pays-Bas</option> <option value="code">Pologne</option> <option value="code">Portugal</option> <option value="code">Roumanie</option> <option value="code">Russie</option> <option value="code">Suède</option> <option value="code">Suisse</option> <option value="code">Turquie</option> </select> </TR> <TR> <TD colspan="2"> <P align="center"><INPUT type="checkbox" name="regagree" value="valeur" onClick="ChangeStatut(this.form)">J'ai v&eacute;rifi&eacute; le formulaire. </TR> <TR> <TD colspan="2"><P align="center"><INPUT type="button" value="Vérification" onclick="affichage();"> <INPUT type="submit" name="validation" value="Envoyer" disabled onClick="verifForm(this.form)"> <INPUT type="reset" value="Réinitialiser"> </P> </TD> </TR> </TABLE> </FORM>
inscription2.php :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<?php 
include "commun/connexion.inc.php";

$prenom=$_POST['prenom'];
$email=$_POST['email'];
$code_postal=$_POST['code_postal'];
$ville=$_POST['ville'];
$pays=$_POST['pays'];

if (isset($_POST['prenom']));

$sql="INSERT INTO membres_tbl (prenom, email, code_postal, ville, pays, email) Values ('$prenom', '$email', '$code_postal', '$ville', '$pays')";
@mysql_db_query($dbname,$sql,$id_link);

$sql="SELECT id FROM membres_tbl WHERE email='$email'";
$resultat=@mysql_db_query($dbname,$sql,$id_link);
$nombre=mysql_num_rows($resultat);

if ($nombre >0){
$auth=1;
include "inscription_p1.php";
exit;
}
if ($auth==1){
echo "<P>Votre pseudo existe déjà dans la base de données.  Soit vous êtes déjà membre et vous avez <a href=\"oubli.php\">oublié votre mot de passe</a>.  Soit il s'agit d'une pure coïncidence, auquel cas, entrez un nouveau pseudo.</p>";
   }
?>

... Vient ensuite le simple codage html pour la suite du formulaire ...

Code : Tout sélectionner

<form action="traitement_id.php" method="post" name="page_2"> <TABLE align="center" width="95%" border="0" bgcolor="#B8B8F5"> <TR> <TD><P></P></TD> </TR> <TR> <TD><LABEL for="pseudo">Pseudo * : </LABEL> <TD><INPUT name="login" type="texte" size="40"> </TR> <TR> <TD><LABEL for="password">Mot de passe (8 caractères min) * : </LABEL> <TD><INPUT name="password" type="password" size="30"> </TR> <TR> <TD><LABEL for="password">Confirmez votre mot de passe * : </LABEL> <TD><INPUT name="passwordbis" type="password" size="30"> </TR> <TR> <TD><label for="question">Question secrète en cas d'oubli du mot de passe * : </label> <TD><INPUT name="question" type="texte" value="&nbsp;&nbsp;&nbsp;&nbsp;Nom de jeune fille de votre mère ?" size="35"> <INPUT name="reponse" type="texte" size="40"> </TR> <TR> <TD colspan="2"> <P align="center"><INPUT type="checkbox" name="regagree" value="valeur" onClick="ChangeStatut(this.form)">J'ai v&eacute;rifi&eacute; le formulaire. </TR> <TR> <TD colspan="2"><P align="center"><INPUT type="button" value="Vérification" onClick="formul_2();"> <INPUT type="submit" name="validation" value="Envoyer" disabled onClick="verifForm(this.form)"> <INPUT type="reset" value="Réinitialiser"> </P> </TD> </TR> </TABLE> </form>
Voilà, il n'est pas nécessaire d'aller plus loin puisque c'est ici que je suis redirigé vers ma page inscription1. Quelques passages vous sembleront p-ê "gros", soyez indulgents please : je commence ...

Eh ben voilà, j'ai tout dit !!! j'espère que quelqu'un pourra m'aider car je deviens carrément dingue à force de retourner ce code dans tous les sens !! Merci d'avance et ... que la force soit avec vous!!!