PierreR Posté 6 Octobre 2005 Partager Posté 6 Octobre 2005 Bonjour à tous, N'ayant pas résolu mon problème de controle de champs et de retour sur le formulaire pré-rempli, j'aimerai afficher les éventuels messages d'erreur de saisie dans une popup (qui se ferme toute seule si on clique en dehors), sans toucher au formulaire qui reste en arrière plan. J'essaye ca : if($_POST["pseudo"]==""){ include 'entete.php3'; echo "<onload =\"java script:window.open('erreur.htm','toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=0,copyhis ory=0,menuBar=0,width=320,height=345, left=300, top=200')\"; return(false)>"; exit;} Mais ca ne marche pas, ca ne provoque par d'erreur mais la popup de s'ouvre pas Auriez-vous des idées, est-ce un problème de syntaxe, faut-il que j'ajoute qq chose dans le body ? Merci pour votre aide. PierreR Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 6 Octobre 2005 Partager Posté 6 Octobre 2005 Bonjour, Le "onload s'applique à la balise <body> et ne peut pas être utilisé de cette manière Tu devrais à mon avis utiliser un <script ...> avec dans celui-ci un appel à window.open() Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
PierreR Posté 6 Octobre 2005 Auteur Partager Posté 6 Octobre 2005 Merci Dan Mais de quelle manière je peux faire ? Mon onload est dans l'include du fichier 'entete.php3', quelle est la syntaxe que je dois utiliser ? Dans le "echo", comment j'appelle le window.open ? Je suis débutant en php, merci de votre indulgence ! PierreR Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 6 Octobre 2005 Partager Posté 6 Octobre 2005 Bonjour, Le JavaScript n'est pas vraiment ma tasse de thé, mais je ferais à peu-près comme ceci : <?php($_POST["pseudo"]==""){print <<< EOF<script type="text/javascript">window.open("URL","nom_de_la_fenetre","options_de_la_fenetre");</script>EOF;}?> A toi de mettre les paramètres qui vont bien pour la fenêtre que tu ouvres. As-tu regardé la fonction JavaScript alert() ? Elle permet d'afficher une fenêtre de message qui serait peut-être suffisante dans ton cas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 6 Octobre 2005 Partager Posté 6 Octobre 2005 Salut, Je t'ai fais ta page http://www.webmaster-hub.com/index.php?act...t=0#entry128570 A toute Portekoi Lien vers le commentaire Partager sur d’autres sites More sharing options...
PierreR Posté 6 Octobre 2005 Auteur Partager Posté 6 Octobre 2005 Ouah !!! Super génial, merci ! Je vais essayer d'intégrer tout ca tout de suite, en espérant y arriver tout seul Merci encore a+ PierreR Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 6 Octobre 2005 Partager Posté 6 Octobre 2005 Tu as juste à remplacer ton fichier actuel par le miens et rajouter la page confirmation.php Attention : j'ai mis ajout.php et non ajout.php3 Portekoi PS : Tu me paieras un resto Lien vers le commentaire Partager sur d’autres sites More sharing options...
PierreR Posté 6 Octobre 2005 Auteur Partager Posté 6 Octobre 2005 Merci aussi Dan, Je vais essayer d'intégrer ce que vous me proposez a+ PierreR Lien vers le commentaire Partager sur d’autres sites More sharing options...
PierreR Posté 6 Octobre 2005 Auteur Partager Posté 6 Octobre 2005 Portekoi, J'ai donc remplacé ton fichier à la place du mien tel quel, et j'ai ajouté le fichier confirmation.php au même niveau. Les controles du formulaire fonctionnent très bien et on arrive bien sur confirmation.php, c'est super ! Maintenant, j'ai essayé d'ajouter les traitement sur la base là ou tu me l'indiques ( // Tu fais ton traitement dans la base de données ici) mais là ca n'enregistre rien dans la base et ca redirige toujours sur confirmation.php alors que j'ai modifié la destination par ça : header("Location: $var_url"); Voila ci-dessous, ce que cela donne, ( en ligne ici http://www.monjardinenligne.com/futursite/protec/ajout.php ) et en dessous, mon fichier d'origine : <?//Fonction de paranofunction secu_variable($variable){ $variable = strip_tags($variable); $variable = addslashes($variable); $variable = trim($variable); $variable = str_replace("select","",$variable); $variable = str_replace("insert","",$variable); $variable = str_replace("update","",$variable); $variable = str_replace("delete","",$variable); $variable = str_replace("union","",$variable); $variable = str_replace("=","",$variable); return $variable;}//Le traitement ce fait ici//on récupère les variables $pseudo = secu_variable($_POST["pseudo"]);$passe = secu_variable($_POST["passe"]);$passe2 = secu_variable($_POST["passe2"]);$url = secu_variable($_POST["url"]);$pays = secu_variable($_POST["pays"]);$email = secu_variable($_POST["email"]);$action = secu_variable($_POST["action"]);//On fait notre traitement si action = add if ($action == "add"){ //On vérifie que les variables ne soient pas vides if ($pseudo == "") { //si c'est le cas, on le note $erreur = $erreur . "pseudo_"; } if ($passe == "") { //si c'est le cas, on le note $erreur = $erreur . "passe_"; } if ($passe2 == "") { //si c'est le cas, on le note $erreur = $erreur . "passe2_"; } if ($email == "") { //si c'est le cas, on le note $erreur = $erreur . "email_"; } //On vérifie que la personne a bien saisie les meme mdp if ($passe != $passe2) { //si c'est le cas, on le note $erreur = $erreur . "diff_"; } //Si erreur = "", c'est que tout c'est bien passé if ($erreur == "") { // Tu fais ton traitement dans la base de données ici// ON VERIFIE SI CE PSEUDO EXISTE DEJA$requete=mysql_db_query($sql_bdd,"select * from membre where pseudo=\"$pseudo\"",$db_link);$num=mysql_num_rows($requete);if($num!=0) { include 'enteteInscription.php3'; echo "<center><br><br>Ce pseudo existe déjà, Il faut en choisir un autre<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>"; include 'footerInscription.php3'; exit; }else { // CREATION D'UN IDENTIFIANT ALEATOIRE $taille = 40; $lettres = "abcdefghijklmnopqrstuvwxyz0123456789"; srand(time()); for ($i=0;$i<$taille;$i++) { $id2.=substr($lettres,(rand()%(strlen($lettres))),1); } // ON RECHERCHE L'ID MAXIMUM DE LA TABLE $requete=mysql_db_query($sql_bdd,"select max(id_membre) as maxidmembre from membre",$db_link); $row=mysql_fetch_assoc($requete); $idmax=$row["maxidmembre"]; // INSERTION DANS LA TABLE $idnew=$idmax+1; $requete=mysql_db_query($sql_bdd,"insert into membre ( `id_membre` , `id` , `droits` , `date_inscription` , `pseudo` , `passe` , `url` , `destination` , `pays` , `remarques` , `email` , `heure_session`, `actif`) values ($idnew,\"$id2\",\"0\", NOW(), \"$pseudo\",\"$passe\",\"$url\",\"$destination_prevue\",\"$pays\",\"\",\"$email\",NOW(), $comptes_actifs)",$db_link);if($envoi_mail=="oui"){mail($email, "Inscription sur $nom_site", "Bonjour $pseudo, \n\nVous vous êtes inscrit sur $nom_site afin d'obtenir un compte ! \n\nVotre pseudo : $pseudo \nVotre passe : $passe\n\nPour vous connecter : \n$chemin_formulaire \n\nMerci et à très bientôt !", "FROM: $votre_email");}if($comptes_actifs=="1"){// cookie$expirer = 24*3600;setcookie( "monpseudo", $pseudo, time() + $expirer, "/" );setcookie( "monpays", $pays , time() + $expirer, "/" );setcookie( "monemail", $email, time() + $expirer, "/" );// SESSIONSif($active_session=="1") { session_start(); $_SESSION["id"] = $id2; $var_url="../$destination_prevue"; }else { $var_url="../$destination_prevue?id=$id2"; } // REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE header("Location: $var_url");} // fin si comptes activés autoelse{ // envoi d'un mail a l'admin pour le prevenir qu un compte doit etre activémail($votre_email, "Demande de création d'un compte membre sur $nom_site", "Bonjour, \n\nUn membre vient de créér un compte, et comme par défaut, l'administrateur du site doit activer le compte afin qu'il soit opérationnel, nous vous adressons cet email pour vous prévenir et donc vous dire que vous devez l'activer.\n\nConnectez vous sur votre interface en tant qu'administrateur ($chemin_formulaire) puis modifiez le compte suivant afin de le rendre actif : \n\nID du membre : $idnew \nPseudo du membre : $pseudo \nPays du membre : $pays \nEmail du membre : $email \n\n@+ \n", "FROM: $votre_email");include 'enteteInscription.php3';?><html><head><title>Inscription</title><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><META NAME="ROBOTS" CONTENT="follow,index,all"><META HTTP-EQUIV="Content-Language" CONTENT="fr"><META NAME="Description" CONTENT="monjardinenligne"><META NAME="Keywords" CONTENT="Jardin, jardinier"><META NAME="Author" CONTENT=""><LINK REL=stylesheet TYPE="text/css" HREF="../styleContent.css"></head><body bgcolor="#66AA99"><table width="90%" border="0" cellspacing="2" cellpadding="10" align="center"><tr><td width="100%" colspan="2" bgcolor="#FFFFFF" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="2" width="77"><img src="../images/transatVisuelPetitOK3.jpg" width="77" height="49"></td><td rowspan="2" width="10"><img src="../images/vide.gif" width="10" height="10"></td><td><p class="titre"><b><i>MonJardinEnLigne.com</i></b></td><td align="right" nowrap rowspan="2" valign="top"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"></font></b><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"></font></b></td></tr><tr><td valign="top"><p class="titre"><b><i>Bienvenue</i></b></td></tr></table></td></tr><tr><td width="100%" colspan="2" bgcolor="#FFFFFF" height="150"> </div><form action="ajout.php" method="post"><B><BR>Nouveau fichier de portekoi <BR><BR></B><table border="0" cellspacing="0" cellpadding="1" bgcolor="#669999" align="center"><tr><td><table border="0" align="center" cellpadding="3" cellspacing="2" class="bordure2" bgcolor="#FFFFFF"><tr align="center"><td colspan="2" nowrap><b><font face="Verdana, Arial, Helvetica, sans-serif" size="3">Abonnez-vous gratuitement à MonJardinEnLigne.com</font></B><br><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En remplissant le formulaire ci-dessous</font></b><br><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Les champs marqués d'une * sont requis</font><br><br></td></tr><tr><td colspan="2"> <? if ($erreur) { //On transforme erreur en tableau $erreur = split("_",$erreur); for($i=0;$i<sizeof($erreur)-1;$i++) { echo "Erreur sur le champ ".$erreur[$i] . "<br>"; } } ?></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Chosissez un pseudo </font></strong></td><td width="50%" align="left"><font size="3"> <input name="pseudo" type="text" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$pseudo?>"> <strong>*</strong> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Chosissez un mot de passe </font></strong></td><td align="left"><font size="3"> <input name="passe" type="password" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$passe?>"> <strong>*</strong> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Confirmez le mot de passe </font></strong></td><td align="left"><font size="3"> <input name="passe2" type="password" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$passe2?>"> <strong>*</strong> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Adresse de site</font></strong></td><td align="left"><font size="3"> <input name="url" type="text" size="20" style="background-image: url(images/ombre_form.gif); border: 1 solid #000000" value="<?=$url?>"> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Pays </font></strong></td><td align="left"><font size="3"> <input name="pays" type="text" size="20" style="background-image: url(images/ombre_form.gif); border: 1 solid #000000" value="<?=$pays?>"> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">email </font></strong></td><td align="left"><font size="3"> <input name="email" type="text" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$email?>"> <strong>*</strong> </font></td></tr><tr> <td align="right"> </td><td align="center"> </td></tr><tr> <td colspan="2" align="center"><font size="3"> <input type="hidden" name="action" value="add"><input name="submit" type="submit" value="Envoyer"> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><input type="button" value="Retour" onClick="history.go(-1)" name="button"></font></td></tr></table></td></tr></table></form></td></tr></table></body></html> Et voici mon fichier d'origine : <?Error_Reporting(1);_AT_set_magic_quotes_runtime(0);switch($_POST['action']) {/*-----------------------------------------------------------------*//* AJOUT DANS MySQL *//*-----------------------------------------------------------------*/case "add";require("passe/conf.php3");// CONNEXION A LA BASE DE DONNEE$db_link=connect_db();// TEST SUR LES VALEURS SAISIESif($_POST["pseudo"]==""){ include 'enteteInscription.php3'; echo "<center><br><br>Il faut choisir un pseudo<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>"; include 'footerInscription.php3';exit;}if($_POST["passe"]==""){ include 'enteteInscription.php3'; echo "<center><br><br>Il faut choisir un mot de passe<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>"; include 'footerInscription.php3';exit;}if($_POST["email"]==""){ include 'enteteInscription.php3'; echo "<center><br><br>Il faut rentrer un email<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>"; include 'footerInscription.php3';exit;}if($_POST["passe"]!=$_POST["passe2"]){ include 'enteteInscription.php3'; echo "<center><br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br>Vous avez mal confirmé le mot de passe<br><br></center>"; include 'footerInscription.php3';exit;}$pseudo=addslashes($_POST["pseudo"]);$passe=addslashes($_POST["passe"]);$email=addslashes($_POST["email"]);$url=addslashes($_POST["url"]);$pays=addslashes($_POST["pays"]);if(eregi("#", "$pseudo") || eregi("#", "$passe") || eregi("#", "$email") || eregi("#", "$url") || eregi("#", "$pays")){ include 'enteteInscription.php3';echo "<br><br>Les caracteres speciaux ne sont pas authorisés.<br><a href='java script:history.back(1)'><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br>";include 'footerInscription.php3';exit; }// on verifie le mailfunction EmailOK($email){ return( ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. '@'. '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'. '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email) );}if(!EmailOK($email)){include 'enteteInscription.php3';echo "<center><br><br>Votre adresse email est incorrect<br><br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></a><br></center>";include 'footerInscription.php3';exit;}// ON VERIFIE SI CE PSEUDO EXISTE DEJA$requete=mysql_db_query($sql_bdd,"select * from membre where pseudo=\"$pseudo\"",$db_link);$num=mysql_num_rows($requete);if($num!=0) { include 'enteteInscription.php3'; echo "<center><br><br>Ce pseudo existe déjà, Il faut en choisir un autre<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>"; include 'footerInscription.php3'; exit; }else { // CREATION D'UN IDENTIFIANT ALEATOIRE $taille = 40; $lettres = "abcdefghijklmnopqrstuvwxyz0123456789"; srand(time()); for ($i=0;$i<$taille;$i++) { $id2.=substr($lettres,(rand()%(strlen($lettres))),1); } // ON RECHERCHE L'ID MAXIMUM DE LA TABLE $requete=mysql_db_query($sql_bdd,"select max(id_membre) as maxidmembre from membre",$db_link); $row=mysql_fetch_assoc($requete); $idmax=$row["maxidmembre"]; // INSERTION DANS LA TABLE $idnew=$idmax+1; $requete=mysql_db_query($sql_bdd,"insert into membre ( `id_membre` , `id` , `droits` , `date_inscription` , `pseudo` , `passe` , `url` , `destination` , `pays` , `remarques` , `email` , `heure_session`, `actif`) values ($idnew,\"$id2\",\"0\", NOW(), \"$pseudo\",\"$passe\",\"$url\",\"$destination_prevue\",\"$pays\",\"\",\"$email\",NOW(), $comptes_actifs)",$db_link);if($envoi_mail=="oui"){mail($email, "Inscription sur $nom_site", "Bonjour $pseudo, \n\nVous vous êtes inscrit sur $nom_site afin d'obtenir un compte ! \n\nVotre pseudo : $pseudo \nVotre passe : $passe\n\nPour vous connecter : \n$chemin_formulaire \n\nMerci et à très bientôt !", "FROM: $votre_email");}if($comptes_actifs=="1"){// cookie$expirer = 24*3600;setcookie( "monpseudo", $pseudo, time() + $expirer, "/" );setcookie( "monpays", $pays , time() + $expirer, "/" );setcookie( "monemail", $email, time() + $expirer, "/" );// SESSIONSif($active_session=="1") { session_start(); $_SESSION["id"] = $id2; $var_url="../$destination_prevue"; }else { $var_url="../$destination_prevue?id=$id2"; } // REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE header("Location: $var_url");} // fin si comptes activés autoelse{ // envoi d'un mail a l'admin pour le prevenir qu un compte doit etre activémail($votre_email, "Demande de création d'un compte membre sur $nom_site", "Bonjour, \n\nUn membre vient de créér un compte, et comme par défaut, l'administrateur du site doit activer le compte afin qu'il soit opérationnel, nous vous adressons cet email pour vous prévenir et donc vous dire que vous devez l'activer.\n\nConnectez vous sur votre interface en tant qu'administrateur ($chemin_formulaire) puis modifiez le compte suivant afin de le rendre actif : \n\nID du membre : $idnew \nPseudo du membre : $pseudo \nPays du membre : $pays \nEmail du membre : $email \n\n@+ \n", "FROM: $votre_email");include 'enteteInscription.php3';?><div align="center"><table border="0" cellspacing="0" cellpadding="1" bgcolor="#669999" align="center"><tr><td><table border="0" cellspacing="0" cellpadding="2" align="center" bgcolor="#FFFFFF"><tr><td align="center"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>Votre compte a bien été créé</b></font></td></tr><tr><td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>Cependant, avant de pouvoir accéder à votre zone membre,<br>l'administrateur de MonJardinEnLigne.com<br><strong> doit activer votre compte</strong>.<br> Vous recevrez un email lorsque celui-ci sera activé...<br> <br> <a href="../login.htm">Retour accueil</a></font> </div><center></center></td></tr></table></td></tr></table><?include 'finpage.php3';exit; } }// DECONNEXION MYSQLclose();break;default;include 'enteteInscription.php3';?></div><form action="" method="post"><table border="0" cellspacing="0" cellpadding="1" bgcolor="#669999" align="center"><tr><td><table border="0" align="center" cellpadding="3" cellspacing="2" class="bordure2" bgcolor="#FFFFFF"><tr align="center"><td colspan="2" nowrap><b><font face="Verdana, Arial, Helvetica, sans-serif" size="3">Abonnez-vous gratuitement à MonJardinEnLigne.com</font></B><br><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En remplissant le formulaire ci-dessous</font></b><br><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Les champs marqués d'une * sont requis</font><br><br></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Chosissez un pseudo </font></strong></td><td width="50%" align="left"><font size="3"> <input name="pseudo" type="text" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000"> <strong>*</strong> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Chosissez un mot de passe </font></strong></td><td align="left"><font size="3"> <input name="passe" type="password" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000"> <strong>*</strong> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Confirmez le mot de passe </font></strong></td><td align="left"><font size="3"> <input name="passe2" type="password" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000"> <strong>*</strong> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Adresse de site</font></strong></td><td align="left"><font size="3"> <input name="url" type="text" size="20" style="background-image: url(images/ombre_form.gif); border: 1 solid #000000"> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Pays </font></strong></td><td align="left"><font size="3"> <input name="pays" type="text" size="20" style="background-image: url(images/ombre_form.gif); border: 1 solid #000000"> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">email </font></strong></td><td align="left"><font size="3"> <input name="email" type="text" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000"> <strong>*</strong> </font></td></tr><tr> <td align="right"> </td><td align="center"> </td></tr><tr> <td colspan="2" align="center"><font size="3"> <input type="hidden" name="action" value="add"><input name="submit" type="submit" value="Envoyer"> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><input type="button" value="Retour" onClick="history.go(-1)" name="button"></font></td></tr></table></td></tr></table></form><?include 'footerInscription.php3';break;}?> Merci infiniment pour ton aide PierreR Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 6 Octobre 2005 Partager Posté 6 Octobre 2005 Rajoute ceci // Tu fais ton traitement dans la base de données ici require("passe/conf.php3"); // CONNEXION A LA BASE DE DONNEE $db_link=connect_db(); Et ca devrait le faire Lien vers le commentaire Partager sur d’autres sites More sharing options...
PierreR Posté 6 Octobre 2005 Auteur Partager Posté 6 Octobre 2005 J'ai ajouté les ligne require... mais j'ai une erreur : Parse error: parse error, unexpected T_DEFAULT in /home/monjardi/www/futursite/protec/ajout.php on line 177 <?//Fonction de paranofunction secu_variable($variable){ $variable = strip_tags($variable); $variable = addslashes($variable); $variable = trim($variable); $variable = str_replace("select","",$variable); $variable = str_replace("insert","",$variable); $variable = str_replace("update","",$variable); $variable = str_replace("delete","",$variable); $variable = str_replace("union","",$variable); $variable = str_replace("=","",$variable); return $variable;}//Le traitement ce fait ici//on récupère les variables $pseudo = secu_variable($_POST["pseudo"]);$passe = secu_variable($_POST["passe"]);$passe2 = secu_variable($_POST["passe2"]);$url = secu_variable($_POST["url"]);$pays = secu_variable($_POST["pays"]);$email = secu_variable($_POST["email"]);$action = secu_variable($_POST["action"]);//On fait notre traitement si action = add if ($action == "add"){ //On vérifie que les variables ne soient pas vides if ($pseudo == "") { //si c'est le cas, on le note $erreur = $erreur . "pseudo_"; } if ($passe == "") { //si c'est le cas, on le note $erreur = $erreur . "passe_"; } if ($passe2 == "") { //si c'est le cas, on le note $erreur = $erreur . "passe2_"; } if ($email == "") { //si c'est le cas, on le note $erreur = $erreur . "email_"; } //On vérifie que la personne a bien saisie les meme mdp if ($passe != $passe2) { //si c'est le cas, on le note $erreur = $erreur . "diff_"; } //Si erreur = "", c'est que tout c'est bien passé if ($erreur == "") { // Tu fais ton traitement dans la base de données icirequire("passe/conf.php3");// CONNEXION A LA BASE DE DONNEE$db_link=connect_db();// ON VERIFIE SI CE PSEUDO EXISTE DEJA$requete=mysql_db_query($sql_bdd,"select * from membre where pseudo=\"$pseudo\"",$db_link);$num=mysql_num_rows($requete);if($num!=0) { include 'enteteInscription.php3'; echo "<center><br><br>Ce pseudo existe déjà, Il faut en choisir un autre<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>"; include 'footerInscription.php3'; exit; }else { // CREATION D'UN IDENTIFIANT ALEATOIRE $taille = 40; $lettres = "abcdefghijklmnopqrstuvwxyz0123456789"; srand(time()); for ($i=0;$i<$taille;$i++) { $id2.=substr($lettres,(rand()%(strlen($lettres))),1); } // ON RECHERCHE L'ID MAXIMUM DE LA TABLE $requete=mysql_db_query($sql_bdd,"select max(id_membre) as maxidmembre from membre",$db_link); $row=mysql_fetch_assoc($requete); $idmax=$row["maxidmembre"]; // INSERTION DANS LA TABLE $idnew=$idmax+1; $requete=mysql_db_query($sql_bdd,"insert into membre ( `id_membre` , `id` , `droits` , `date_inscription` , `pseudo` , `passe` , `url` , `destination` , `pays` , `remarques` , `email` , `heure_session`, `actif`) values ($idnew,\"$id2\",\"0\", NOW(), \"$pseudo\",\"$passe\",\"$url\",\"$destination_prevue\",\"$pays\",\"\",\"$email\",NOW(), $comptes_actifs)",$db_link);if($envoi_mail=="oui"){mail($email, "Inscription sur $nom_site", "Bonjour $pseudo, \n\nVous vous êtes inscrit sur $nom_site afin d'obtenir un compte ! \n\nVotre pseudo : $pseudo \nVotre passe : $passe\n\nPour vous connecter : \n$chemin_formulaire \n\nMerci et à très bientôt !", "FROM: $votre_email");}if($comptes_actifs=="1"){// cookie$expirer = 24*3600;setcookie( "monpseudo", $pseudo, time() + $expirer, "/" );setcookie( "monpays", $pays , time() + $expirer, "/" );setcookie( "monemail", $email, time() + $expirer, "/" );// SESSIONSif($active_session=="1") { session_start(); $_SESSION["id"] = $id2; $var_url="../$destination_prevue"; }else { $var_url="../$destination_prevue?id=$id2"; } // REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE header("Location: $var_url");} // fin si comptes activés autoelse{ // envoi d'un mail a l'admin pour le prevenir qu un compte doit etre activémail($votre_email, "Demande de création d'un compte membre sur $nom_site", "Bonjour, \n\nUn membre vient de créér un compte, et comme par défaut, l'administrateur du site doit activer le compte afin qu'il soit opérationnel, nous vous adressons cet email pour vous prévenir et donc vous dire que vous devez l'activer.\n\nConnectez vous sur votre interface en tant qu'administrateur ($chemin_formulaire) puis modifiez le compte suivant afin de le rendre actif : \n\nID du membre : $idnew \nPseudo du membre : $pseudo \nPays du membre : $pays \nEmail du membre : $email \n\n@+ \n", "FROM: $votre_email");include 'enteteInscription.php3';?><div align="center"><table border="0" cellspacing="0" cellpadding="1" bgcolor="#669999" align="center"><tr><td><table border="0" cellspacing="0" cellpadding="2" align="center" bgcolor="#FFFFFF"><tr><td align="center"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>Votre compte a bien été créé</b></font></td></tr><tr><td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>Cependant, avant de pouvoir accéder à votre zone membre,<br>l'administrateur de MonJardinEnLigne.com<br><strong> doit activer votre compte</strong>.<br> Vous recevrez un email lorsque celui-ci sera activé...<br> <br> <a href="../login.htm">Retour accueil</a></font> </div><center></center></td></tr></table></td></tr></table><?include 'finpage.php3';exit; } }// DECONNEXION MYSQLclose();break;default;include 'enteteInscription.php3';?></div><table width="90%" border="0" cellspacing="2" cellpadding="10" align="center"><tr><td width="100%" colspan="2" bgcolor="#FFFFFF" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="2" width="77"><img src="../images/transatVisuelPetitOK3.jpg" width="77" height="49"></td><td rowspan="2" width="10"><img src="../images/vide.gif" width="10" height="10"></td><td><p class="titre"><b><i>MonJardinEnLigne.com</i></b></td><td align="right" nowrap rowspan="2" valign="top"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"></font></b><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"></font></b></td></tr><tr><td valign="top"><p class="titre"><b><i>Bienvenue</i></b></td></tr></table></td></tr><tr><td width="100%" colspan="2" bgcolor="#FFFFFF" height="150"> </div><form action="ajout.php" method="post"><B><BR>Nouveau fichier de portekoi <BR><BR></B><table border="0" cellspacing="0" cellpadding="1" bgcolor="#669999" align="center"><tr><td><table border="0" align="center" cellpadding="3" cellspacing="2" class="bordure2" bgcolor="#FFFFFF"><tr align="center"><td colspan="2" nowrap><b><font face="Verdana, Arial, Helvetica, sans-serif" size="3">Abonnez-vous gratuitement à MonJardinEnLigne.com</font></B><br><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En remplissant le formulaire ci-dessous</font></b><br><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Les champs marqués d'une * sont requis</font><br><br></td></tr><tr><td colspan="2"> <? if ($erreur) { //On transforme erreur en tableau $erreur = split("_",$erreur); for($i=0;$i<sizeof($erreur)-1;$i++) { echo "Erreur sur le champ ".$erreur[$i] . "<br>"; } } ?></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Chosissez un pseudo </font></strong></td><td width="50%" align="left"><font size="3"> <input name="pseudo" type="text" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$pseudo?>"> <strong>*</strong> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Chosissez un mot de passe </font></strong></td><td align="left"><font size="3"> <input name="passe" type="password" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$passe?>"> <strong>*</strong> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Confirmez le mot de passe </font></strong></td><td align="left"><font size="3"> <input name="passe2" type="password" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$passe2?>"> <strong>*</strong> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Adresse de site</font></strong></td><td align="left"><font size="3"> <input name="url" type="text" size="20" style="background-image: url(images/ombre_form.gif); border: 1 solid #000000" value="<?=$url?>"> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Pays </font></strong></td><td align="left"><font size="3"> <input name="pays" type="text" size="20" style="background-image: url(images/ombre_form.gif); border: 1 solid #000000" value="<?=$pays?>"> </font></td></tr><tr> <td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">email </font></strong></td><td align="left"><font size="3"> <input name="email" type="text" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$email?>"> <strong>*</strong> </font></td></tr><tr> <td align="right"> </td><td align="center"> </td></tr><tr> <td colspan="2" align="center"><font size="3"> <input type="hidden" name="action" value="add"><input name="submit" type="submit" value="Envoyer"> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><input type="button" value="Retour" onClick="history.go(-1)" name="button"></font></td></tr></table></td></tr></table></form></td></tr></table><?include 'footerInscription.php3';break;}?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 6 Octobre 2005 Partager Posté 6 Octobre 2005 Essaie de chercher un peu quand même,je ne peux pas tout te faire. Quand tu as une ligne en erreur, mets la en commentaire et ainsi de suite. Le break; default; doit se trouver dans un switch, hors, tu n'en as pas. Tu dois donc supprimer ces 2 lignes mais le php n'est pas un puzzle. Il faut que tu comprennes un minimum sinon, tu n'y arriveras jamais http://www.phpdebutant.org Portekoi Lien vers le commentaire Partager sur d’autres sites More sharing options...
PierreR Posté 6 Octobre 2005 Auteur Partager Posté 6 Octobre 2005 Excuse-moi, mais j'ai essayé plein de choses avant de poser cette nouvelle question, et j'ai renvoyé ma page au moins 200 fois en décortiquant ma page d'origine et de comparer avec la tienne pour essayer de comprendre... Quand j'enlève les lignes break; et default, c'est en ligne 342 qu'il me fait une erreur, et la aussi, quand j'enlève ce break : erreur, quand j'enleve l'include, erreur sur la dernière ligne (vide)... Mais je vais encore essayer. J'ai effectivement une tendance à prendre le php pour un puzzle, mais c'est manifestement pas la bonne approche... Merci encore. PierreR Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 6 Octobre 2005 Partager Posté 6 Octobre 2005 PierreR, Merci d'utiliser la balise CODEBOX dès que le code fait plus d'une dizaine de lignes. Cela évite des pages indigestes pour ceux qui ne veulent pas parcourir le code Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
PierreR Posté 6 Octobre 2005 Auteur Partager Posté 6 Octobre 2005 Oups, Désolé Dan, j'ai eu un loupé, j'ai cliqué un peu vite sur quote au lieu de code. PierreR Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant