Erreur Code PHP (Parse error...)
Utilisateur anonyme
-
Tiller Messages postés 781 Date d'inscription Statut Membre Dernière intervention -
Tiller Messages postés 781 Date d'inscription Statut Membre Dernière intervention -
Bonjour. C'est la première fois que je poste ici et je vais tenter de faire bonne impression.
Voilà. Ca fait 3 heures que je parcours le web, le réseau, l'internet, la toile, enfin, etc...
Et impossible de trouver une solution.
J'ai codé un gros formulaire qui permet l'accès à mon espace membre (Delfospace). Il requiert 5 éléments : Pseudo, entre 3 et 30 caractères, Email, Mot de passe, entre 3 et 30 caractères, et la confirmation respective de ces deux derniers.
Une fois validé, la page se recharge. C'est là qu'intervient le script PHP qui entoure mon formulaire.
Si les variables générés par le formulaire n'existent pas (dans la cas de la première visite), affichage d'un formulaire vierge.
Si les variables sont correctes (vérification par Regex), sauvegarde dans MySQL et affichage d'un message de remerciment.
Si les variables sont incorrectes (toujours vérifiés par Regex), affichage du même formulaire, complété âr défaut avec les précédentes entrés, et un signalement pour chaque champ (vérif. Regex pour les 5 entrées) de l'erreur ou de l'exactitude de l'entrée par l'affichage d'une image.
Dans tous les autres cas (Else), affichage d'un message d'erreur classique.
Voici mon code (que j'ai retapé de bout en bout) :
Voilà bref.
Et maintenant l'erreur :
(Lien ici)
Voilà. Ca fait 3 heures que je parcours le web, le réseau, l'internet, la toile, enfin, etc...
Et impossible de trouver une solution.
J'ai codé un gros formulaire qui permet l'accès à mon espace membre (Delfospace). Il requiert 5 éléments : Pseudo, entre 3 et 30 caractères, Email, Mot de passe, entre 3 et 30 caractères, et la confirmation respective de ces deux derniers.
Une fois validé, la page se recharge. C'est là qu'intervient le script PHP qui entoure mon formulaire.
Si les variables générés par le formulaire n'existent pas (dans la cas de la première visite), affichage d'un formulaire vierge.
Si les variables sont correctes (vérification par Regex), sauvegarde dans MySQL et affichage d'un message de remerciment.
Si les variables sont incorrectes (toujours vérifiés par Regex), affichage du même formulaire, complété âr défaut avec les précédentes entrés, et un signalement pour chaque champ (vérif. Regex pour les 5 entrées) de l'erreur ou de l'exactitude de l'entrée par l'affichage d'une image.
Dans tous les autres cas (Else), affichage d'un message d'erreur classique.
Voici mon code (que j'ai retapé de bout en bout) :
<?php if (isset($_POST['pseudo']) && ($_POST['mail']) && ($_POST['verif_mail']) && ($_POST['password']) && ($_POST['verif_passord'])) // On vérifie si les variables du forumlaire existent. Dans le cas où les variables n'existent pas, on affiche un formulaire vierge { if (preg_match("#^[0-9a-zA-Z.-]{3,30}$#","$_POST['pseudo']")) && (preg_match("#^[az0-9-_-]+@[a-z0-9._-{2,}\,[a-z]{2,4}$#","$_POST['mail']")) && (preg_match("#^.[^<>]{3,30}$#","$_POST['password']")) && ("$_POST['verif_passord']" == "$_POST['password']") && ("$_POST['verif_mail']" == "$_POST['mail']") // Si les variables sont toutes correctes, on valide le formulaire, on complète la table MySQL, et on redirige le client { $pseudo=mysql_real_escape_string(htmlspecialchars$_POST['pseudo'])); $mail=mysql_real_escape_string(htmlspecialchars$_POST['mail'])); $password=mysql_real_escape_string(htmlspecialchars$_POST['password'])); // On sécurise les codes contre les codes Html et Java ainsi que les injections SQL mysql_connect("localhost", "Base", "Pass"); // Logins masqués volontairement, sur et certains ils sont corrects. mysql_select_db("Table"); //Pareil, masqué, mais correct // On ajoute une entrée avec mysql_query mysql_query("INSERT INTO delfospace_membres VALUES('', '$pseudo', '$mail', '$password')"); // Ajout des donnés dans la table. Là aussi, la table comprend quatres champs, dont le premier est une ID auto incrimenité mysql_close(); <h2 id="p1" class="post-title"><a name="Formulaire_dinscription_à_Delfospace"></a><span style="text-decoration: underline;">Inscription à Delfospace</span></h2> <br /> Félicitations ! Votre inscription à bien été prise en compte. Vous pouvez maintenant vous connecter à Delfospace !<br />// affichage du message de félicitation. // [...] //Je pense que vous n'avez pas envie de lire ce qui suit (codes annonces Google, etc...) } else // Si une variable est fausse, on renvoie le même formulaire avec les erreurs signalés. On lui demande de corriger le lot. (au client) { ?> <h2 id="p1" class="post-title"><a name="Formulaire_dinscription_à_Delfospace"></a><span style="text-decoration: underline;">Formulaire d'inscription à Delfospace</span></h2> Une erreur à été décelé dans le formulaire. Il s'agit surement d'une erreur de frappe. Vérifiez votre formulaire avant de le renvoyer. Il se peut que vous avez entrés des caractères interdits, ou que vous avez oubliés un @ à l'email, par exemple.<br /> <br /> Pour créer votre compte, veuillez remplir ce formulaire. Ces informations seront modifiables depuis Delfospace. <br /> // [...] Le formulaire. Si vous voulez le voir, postez... <?php } } else { <?php if(isset($_POST['pseudo']) && ($_POST['mail']) && ($_POST['verif_mail']) && ($_POST['password']) && ($_POST['verif_passord']) // On vérifie si les variables du forumlaire existent { // Dans le cas où les variables n'existent pas, on affiche un formulaire vierge echo ?> <h2 id="p1" class="post-title"><a name="Formulaire_dinscription_à_Delfospace"></a><span style="text-decoration: underline;">Formulaire d'inscription à Delfospace</span></h2> Ce formulaire va vous permettre de vous inscrire à l'espace membre du site, Delfospace. Grace à ce compte, vous pourrez acceder à des options avancés, à des contenus exclusifs et bien plus encore ! <br /> // [...] // Formulaire vierge
Voilà bref.
Et maintenant l'erreur :
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/alternc/html/d/dede7/delfospace/inscription.php on line 92
(Lien ici)
A voir également:
- Erreur Code PHP (Parse error...)
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
16 réponses
Je me suis permis de te refaire un formulaire, essaie de l'adapter a ton site =)
<?php $connect = mysql_connect('localhost', 'root', ''); mysql_select_db('maBase', $connect); if (isset($_POST['pseudo'])) { $req1 = preg_match("#^[0-9a-zA-Z.-]{3,30}$#", $_POST['pseudo']); $req2 = preg_match("#^[a-zA-Z0-9_.-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$#", $_POST['email']); $req3 = preg_match("#^.[^<>]{3,30}$#", $_POST['password']); $req4 = ($_POST['email'] == $_POST['email2']); $req5 = ($_POST['password'] == $_POST['password2']); $req6 = isset($_POST['rules']); if (!$req1) $error = 'Votre pseudo ne correspond pas aux critères demandés'; elseif (!$req2) $error = 'Votre email ne correspond pas aux critères demandés'; elseif (!$req3) $error = 'Votre mot de passe ne correspond pas aux critères demandés'; elseif (!$req4) $error = 'Les deux adresse mails ne correspondent pas'; elseif (!$req5) $error = 'Les deux mot de passes ne correspondent pas'; elseif (!$req6) $error = 'Vous n\'avez pas accepté le réglement'; else { $sql = 'SELECT * FROM `delfospace_membres` WHERE `pseudo` = "'.$_POST['pseudo'].'"'; $req = mysql_query($sql); if (mysql_num_rows($req) > 0) $error = 'Le pseudo est deja utilisé'; else { $pseudo = $_POST['pseudo']; $email = $_POST['email']; $password = $_POST['password']; $sql = 'INSERT INTO `delfospace_membres` VALUES("", "'.$pseudo.'", "'.$email.'", "'.md5($password).'")'; mysql_query($sql); $error = 'Votre inscription a bien été effectué..'; } } } ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> </head> <body> <div style="font-size: 26px; font-weight: bold">Formulaire d'inscription à Delfospace</div><br/><br/> <div style="color: #FF0000; font-size: 16px"><?php echo (isset($error))?$error.'<br/><br/>':''; ?></div> <div style="font-size: 13px"> Ce formulaire va vous permettre de vous inscrire à l'espace membre du site, Delfospace. Grace à ce compte, vous pourrez acceder à des options avancés, à des contenus exclusifs et bien plus encore !<br/><br/> Pour créer votre compte, veuillez remplir ce formulaire. Ces informations seront modifiables depuis Delfospace. <br/><br/> </div> <span style="font-size: 9px">(Ces informations sont obligatoires)</span><br/><br/> <div style="font-size: 13px"> <form action="test8.php" method="post"> Pseudo : Votre pseudo doit faire entre 3 et 30 caractères.<br/> <input type="text" name="pseudo" value="<?php echo (isset($_POST['pseudo']))?$_POST['pseudo']:''; ?>" /><br/><br/> Email : Vous devez entrez une adresse email valide.<br/> <input type="text" name="email" value="<?php echo (isset($_POST['email']))?$_POST['email']:''; ?>" /><br/><br/> Confirmation de l'email : Retapez ici votre email.<br/> <input type="text" name="email2" value="<?php echo (isset($_POST['email2']))?$_POST['email2']:''; ?>" /><br/><br/> Mot de passe : Il doit faire entre 3 et 30 caractères.<br/> <input type="password" name="password" value="<?php echo (isset($_POST['password']))?$_POST['password']:''; ?>" /><br/><br/> Confirmation du mot de passe : Retapez votre mot de passe.<br/> <input type="password" name="password2" value="<?php echo (isset($_POST['password2']))?$_POST['password2']:''; ?>" /><br/><br/> <input type="checkbox" name="rules" value="1" /> J'ai lu et accepte <a href="http://www.dede7.weboserv.org/reglement.php?adress=/delfospace/insciption.php" target="_blank">les termes du réglement de Delfows.</a> <br/><br/> <input type="submit" value="Vérifiez le formulaire" /> </form> </div> </body> </html>
Sa serait bien tu pouvais mettre le code d'origine, car avec les [..] on a pas la moindre idée d'où se situe la ligne 92 =)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et surtout:
A bannir!!
Ne prend SURTOUT PAS l'habitude de mettre tes variables dans ces foutus quotes.
Et:
Bref c'est du détail, il faut la ligne 92 =)
== "$_POST['password']"
A bannir!!
Ne prend SURTOUT PAS l'habitude de mettre tes variables dans ces foutus quotes.
== $_POST['password']
Et:
mysql_query("INSERT INTO delfospace_membres VALUES('', '".$pseudo."', '".$mail."', '".$password."')");
Bref c'est du détail, il faut la ligne 92 =)
Olley ! petit bug, je pensais ne pas déja avoir posté ! Désolé.
Voilà la suite et fin de mon message !
Et maintenant l'erreur :
(Lien ici : http://www.dede7.weboserv.org/delfospace/inscription.php)
A savoir que la ligne en question est la toute première que j'ai tapé en Code dans ce message. Avant le petit remake du code, cette ligne était la 185. Le message d'erreur me parlait aussi de la 185. Je ne vois pas ce qui cloche. Il n'y a rien d'intéressant au dessus et en dessous. Mais si jamais ça vous intéresse, je peux vous livrer le code en entier !
J'espère que vous trouverez solution à mon problème, merci d'avence !
Et encore bravo ! Jamais vu des personnes si rapides ^^
PS : Tiller, merci de tes conseils, je change ca tout de suite ;-)
Voilà la suite et fin de mon message !
Et maintenant l'erreur :
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/alternc/html/d/dede7/delfospace/inscription.php on line 92
(Lien ici : http://www.dede7.weboserv.org/delfospace/inscription.php)
A savoir que la ligne en question est la toute première que j'ai tapé en Code dans ce message. Avant le petit remake du code, cette ligne était la 185. Le message d'erreur me parlait aussi de la 185. Je ne vois pas ce qui cloche. Il n'y a rien d'intéressant au dessus et en dessous. Mais si jamais ça vous intéresse, je peux vous livrer le code en entier !
J'espère que vous trouverez solution à mon problème, merci d'avence !
Et encore bravo ! Jamais vu des personnes si rapides ^^
PS : Tiller, merci de tes conseils, je change ca tout de suite ;-)
salut,
tes <?php et ?> ne sont pas aux bons endroits, il en manque
tes <?php et ?> ne sont pas aux bons endroits, il en manque
<?php if (isset($_POST['pseudo']) && ($_POST['mail']) && ($_POST['verif_mail']) && ($_POST['password']) && ($_POST['verif_passord'])) // On vérifie si les variables du forumlaire existent. Dans le cas où les variables n'existent pas, on affiche un formulaire vierge { if (preg_match("#^[0-9a-zA-Z.-]{3,30}$#","$_POST['pseudo']")) && (preg_match("#^[az0-9-_-]+@[a-z0-9._-{2,}\,[a-z]{2,4}$#","$_POST['mail']")) && (preg_match("#^.[^<>]{3,30}$#","$_POST['password']")) && ("$_POST['verif_passord']" == "$_POST['password']") && ("$_POST['verif_mail']" == "$_POST['mail']") // Si les variables sont toutes correctes, on valide le formulaire, on complète la table MySQL, et on redirige le client { $pseudo=mysql_real_escape_string(htmlspecialchars$_POST['pseudo'])); $mail=mysql_real_escape_string(htmlspecialchars$_POST['mail'])); $password=mysql_real_escape_string(htmlspecialchars$_POST['password'])); // On sécurise les codes contre les codes Html et Java ainsi que les injections SQL mysql_connect("localhost", "Base", "Pass"); // Logins masqués volontairement, sur et certains ils sont corrects. mysql_select_db("Table"); //Pareil, masqué, mais correct // On ajoute une entrée avec mysql_query mysql_query("INSERT INTO delfospace_membres VALUES('', '$pseudo', '$mail', '$password')"); // Ajout des donnés dans la table. Là aussi, la table comprend quatres champs, dont le premier est une ID auto incrimenité mysql_close(); ?> <h2 id="p1" class="post-title"><a name="Formulaire_dinscription_à_Delfospace"></a><span style="text-decoration: underline;">Inscription à Delfospace</span></h2> <br /> Félicitations ! Votre inscription à bien été prise en compte. Vous pouvez maintenant vous connecter à Delfospace !<br />// affichage du message de félicitation. // [...] //Je pense que vous n'avez pas envie de lire ce qui suit (codes annonces Google, etc...) <?php } else // Si une variable est fausse, on renvoie le même formulaire avec les erreurs signalés. On lui demande de corriger le lot. (au client) { ?> <h2 id="p1" class="post-title"><a name="Formulaire_dinscription_à_Delfospace"></a><span style="text-decoration: underline;">Formulaire d'inscription à Delfospace</span></h2> Une erreur à été décelé dans le formulaire. Il s'agit surement d'une erreur de frappe. Vérifiez votre formulaire avant de le renvoyer. Il se peut que vous avez entrés des caractères interdits, ou que vous avez oubliés un @ à l'email, par exemple.<br /> <br /> Pour créer votre compte, veuillez remplir ce formulaire. Ces informations seront modifiables depuis Delfospace. <br /> // [...] Le formulaire. Si vous voulez le voir, postez... <?php } } else { // On vérifie si les variables du forumlaire existent if(isset($_POST['pseudo']) && ($_POST['mail']) && ($_POST['verif_mail']) && ($_POST['password']) && ($_POST['verif_passord']) { // Dans le cas où les variables n'existent pas, on affiche un formulaire vierge ?> <h2 id="p1" class="post-title"><a name="Formulaire_dinscription_à_Delfospace"></a><span style="text-decoration: underline;">Formulaire d'inscription à Delfospace</span></h2> Ce formulaire va vous permettre de vous inscrire à l'espace membre du site, Delfospace. Grace à ce compte, vous pourrez acceder à des options avancés, à des contenus exclusifs et bien plus encore ! <br /> // [...] // Formulaire vierge
ça va paraître bête mais c'est pas un problème avec ton commentaire? il est sur une seule ligne j'espère...
sinon essaies avec des isset partout plutôt (ex: isset($_POST['truc']) ) mais normalement cette ligne est bonne
sinon essaies avec des isset partout plutôt (ex: isset($_POST['truc']) ) mais normalement cette ligne est bonne
Soit Alain42 a raison soit tu les as viré sans faire attention en écourtant ton code, si le probleme n'est pas là:
Envoi Tout le code telle qu'elle, et avec exactement le même nombre de ligne que online
Envoi Tout le code telle qu'elle, et avec exactement le même nombre de ligne que online
Un peu fatigué, je rame un peu...
Bon, perso, je crois que ca servirait à rien d'indiquer ce qu'il y a au dessus, mais si ca peu vous aider...
A savoir que je code PHP depuis 5 jours.
La première ligne est la 85. La dernière est là 138. Elle débouche sur un code html faisant partie du PHP.
Merci pour votre aide rapide
Fichier TXT du code entier en cours de préparation
Bon, perso, je crois que ca servirait à rien d'indiquer ce qu'il y a au dessus, mais si ca peu vous aider...
A savoir que je code PHP depuis 5 jours.
<body> <div id="page"> <div id="page"> <div id="top"> <h1><a href="http://www.dede7.weboserv.org/delfos">Delfos Web Site - Delfows</a></h1> </div> <div id="middle"> <div id="main"> <div id="content"> <div class="post"> <?php if (isset($_POST['pseudo']) && ($_POST['mail']) && ($_POST['verif_mail']) && ($_POST['password']) && ($_POST['verif_passord'])) // On vérifie si les variables du forumlaire existent. Dans le cas où les variables n'existent pas, on affiche un formulaire vierge { if (preg_match("#^[0-9a-zA-Z.-]{3,30}$#","$_POST['pseudo']")) && (preg_match("#^[az0-9-_-]+@[a-z0-9._-{2,}\,[a-z]{2,4}$#","$_POST['mail']")) && (preg_match("#^.[^<>]{3,30}$#","$_POST['password']")) && ("$_POST['verif_passord']" == "$_POST['password']") && ("$_POST['verif_mail']" == "$_POST['mail']") // Si les variables sont toutes correctes, on valide le formulaire, on complète la table MySQL, et on redirige le client { $pseudo=mysql_real_escape_string(htmlspecialchars$_POST['pseudo'])); $mail=mysql_real_escape_string(htmlspecialchars$_POST['mail'])); $password=mysql_real_escape_string(htmlspecialchars$_POST['password'])); mysql_connect("localhost", "Base", "Pass"); mysql_select_db("Table"); // On ajoute une entrée avec mysql_query mysql_query("INSERT INTO delfospace_membres VALUES('', '$pseudo', '$mail', '$password')"); mysql_close(); ?> <h2 id="p1" class="post-title"><a name="Formulaire_dinscription_à_Delfospace"></a><span style="text-decoration: underline;">Inscription à Delfospace</span></h2> <br /> Félicitations ! Votre inscription à bien été prise en compte. Vous pouvez maintenant vous connecter à Delfospace !<br /> <br /> <div style="text-align: center;"><a href="/connect.php"><small>> Connection <</small></a></div> </div> <div style="text-align: justify;"> <div style="text-align: right;"><br /> <br /> <script type="text/javascript"> <!-- google_ad_client = "pub-7703474819142135"; google_ad_slot = "9850021026"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script></div> <?php } else // Si une variable est fausse, on renvoie le même formulaire avec les erreurs signalés. On lui demande de corriger le lot. { ?>
La première ligne est la 85. La dernière est là 138. Elle débouche sur un code html faisant partie du PHP.
Merci pour votre aide rapide
Fichier TXT du code entier en cours de préparation
Bon attend, sa me donne mal au crane tous ces bout un peu partout
Poste l'intégralité sur le même post, Merci
Avec la 92ème ligne de ton poste qui correspondrait a la 92ème ligne sur ta page
Poste l'intégralité sur le même post, Merci
Avec la 92ème ligne de ton poste qui correspondrait a la 92ème ligne sur ta page
Excusez moi pour mon désordre (Vous ne me connaissez pas, c'est vrai...)
Bon, voilà le code intégral de la page ici : http://cid-2e5679e6c4c502e1.skydrive.live.com/self.aspx/Public/inscription|_php|_dede7.txt
Ensuite je corrige les derniers petits détails.
Merci et désolé :/
Bon, voilà le code intégral de la page ici : http://cid-2e5679e6c4c502e1.skydrive.live.com/self.aspx/Public/inscription|_php|_dede7.txt
Ensuite je corrige les derniers petits détails.
Merci et désolé :/
Je sais pas les autres mais moi je n'y ai pas access >.>
http://cid-2e5679e6c4c502e1.skydrive.live.com/self.aspx/Public/inscription|_php|_dede7.txt Sa m'envoi nulpart perso..
Tu peux pas mettre le fichier txt sur ton FTP? :x
http://cid-2e5679e6c4c502e1.skydrive.live.com/self.aspx/Public/inscription|_php|_dede7.txt Sa m'envoi nulpart perso..
Tu peux pas mettre le fichier txt sur ton FTP? :x
$pseudo=mysql_real_escape_string(htmlspecialchars$_POST['pseudo'])); $mail=mysql_real_escape_string(htmlspecialchars$_POST['mail'])); $password=mysql_real_escape_string(htmlspecialchars$_POST['password']));
Il manque 3 parenthèses
mysql_connect("localhost", "Base", "Pass"); mysql_select_db("Table"); // On ajoute une entrée avec mysql_query mysql_query("INSERT INTO delfospace_membres VALUES('', '$pseudo', '$mail', '$password')"); mysql_close(); ?>
Comme a dit Alain42, il te manque ?> a la fin de cette partie la
<input type="text" name=mail value="$_POST['mail']" /> <?php if (preg_match("#^[az0-9-_-]+@[a-z0-9._-{2,}\,[a-z]{2,4}$#","$_POST['mail']")
Il manque un parenthèse, et chaque "$_POST['...']" avec les quotes dans un preg_replace te donne une erreur
<img scr=https://i54.servimg.com/u/f54/11/34/80/05/agt_ac11.png>
Pas une erreur php mais syntaxique HTML, on met src="http://.."
Excuse moi de dire sa, mais ton code pourri. Il y a des erreurs a chaque ligne de php pratiquement...
Et puis, 1047 lignes pour un formulaire...
Désolé mais j'ai pas le courage de toute les faire pour corriger, un conseil, refait le depuis le début, et apprend a codé propre!