Se connecter / S'enregistrer
Votre question

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'..

Tags :
  • string
  • Programmation
Dernière réponse : dans Programmation
15 Décembre 2008 15:16:56

Bonjours,

J'ai un probleme, avec mon script :

Il me met une ereur "celle que j'ai en titre"

Je ne vois vraiment pas ou est le probleme.

Il me dit ligne 34 (je l'ai coloré)



Spoiler
<?php if (!empty($_POST['pseudo']) && !empty($_POST['email']))
{
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-].[a-z]$#", $_POST['email']))
{ include("mysql_connect.php");
$test = mysql_query("SELECT COUNT(*) AS nb_email FROM membres WHERE email = '".$_POST['email']."'");
$testA = mysql_fetch_array($test);
if ($testA['nb_email'] != 1)
{$pseudo = htmlspecialchars($_POST['pseudo']);
$email = htmlspecialchars($_POST['email']);
$sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo = '" . $pseudo . "'");
$ech = mysql_fetch_array($sql);
if ($ech['nb_pseudo'] == 0)
{$lettres_chiffres = 'abcdefghijklmnopqrstuvwxyz0123456789';
$lettres_chiffres_melanges = str_shuffle($lettres_chiffres);
$mot_passe = substr($lettres_chiffres_melanges, 0, 5);
$destinataire = $email;
$objet = "Inscription sur Pellarox"; // Remplacez "Mon site" par le nom de votre site
$message = "Bonjour,
Après votre inscription sur Pellarox, nous vous envoyons vos identifiants par e-mail.

Pseudo : " .$pseudo. "
Mot de passe : " .$mot_passe. "

On vous souhaite un bon jeu ;) 
L'équipe de Pellarox";
mail($destinataire, $objet, $message);

mysql_query("INSERT INTO membres VALUES('', '$pseudo', '$mot_passe', '$email')");
echo '<br/>Vous avez bien été inscrit. Vos identifiants vous sont envoyés par mail.<br/>

}
else
{
echo 'Ce pseudo existe déjà. Choisissez en un autre !';
}
}
else
{
echo 'Cette adresse email n est pas valide.';
}
}
else
{
echo 'Merci de remplir tous les champs';
}
mysql_close();

?>

Autres pages sur : parse error syntax error unexpected string expecting

15 Décembre 2008 15:36:41

C'est bon j'ai trouver de moi meme.

Mais j'ai toujours un probleme, a la ligne 48 me dit-il, c'est tout a la fin

15 Décembre 2008 16:17:10

Tu n'as pas fermé ton echo lorsque tu dis : echo '<br/>Vous avez bien été inscrit. Vos identifiants vous sont envoyés par mail.<br/>

Il manque le '; à la fin
Contenus similaires
15 Décembre 2008 16:18:39

Ouais sa j'ai courrigé maintenant le problem c'est a la fin
15 Décembre 2008 16:23:27

C'est laquelle la ligne 48 et c'est quoi le message d'erreur ?

Edit : Il doit manquer un } à la fin.
15 Décembre 2008 16:29:45

Exacte,

J'ai tout remis a jours :

  1. <?php
  2.  
  3. if (isset($_POST['pseudo']) && isset($_POST['email']))
  4. {include("mysql_connect.php");
  5. if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-].[a-z]$#", $_POST['email']))
  6. { $test = mysql_query("SELECT COUNT(*) AS nb_email FROM membres WHERE email = '".$_POST['email']."'");
  7. $testA = mysql_fetch_array($test);
  8. if ($testA['nb_email'] != 1)
  9. {$pseudo = htmlspecialchars($_POST['pseudo']);
  10. $email = htmlspecialchars($_POST['email']);
  11. $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo = '" . $pseudo . "'");
  12. $ech = mysql_fetch_array($sql);
  13. if ($ech['nb_pseudo'] == 0)
  14. {$lettres_chiffres = 'abcdefghijklmnopqrstuvwxyz0123456789';
  15. $lettres_chiffres_melanges = str_shuffle($lettres_chiffres);
  16. $mot_passe = substr($lettres_chiffres_melanges, 0, 5);
  17. $destinataire = $email;
  18. $objet = "Inscription sur Pellarox"; // Remplacez "Mon site" par le nom de votre site
  19. $message = "Bonjour,
  20. Après votre inscription sur Pellarox, nous vous envoyons vos identifiants par e-mail.
  21.  
  22. Pseudo : " .$pseudo. "
  23. Mot de passe : " .$mot_passe. "
  24.  
  25. On vous souhaite un bon jeu ;)
  26. L'équipe de Pellarox";
  27. mail($destinataire, $objet, $message);
  28.  
  29. mysql_query("INSERT INTO membres VALUES('', '$pseudo', '$mot_passe', '$email')");
  30. echo '<br/>Vous avez bien été inscrit. Vos identifiants vous sont envoyés par mail.<br/>';
  31.  
  32. }
  33. else
  34. {
  35. echo 'Ce pseudo existe déjà. Choisissez en un autre !';
  36. }
  37. }
  38. else
  39. {
  40. echo 'Cette adresse email n est pas valide.';
  41. }
  42. }
  43. else
  44. {
  45. echo 'Merci de remplir tous les champs';
  46. }
  47. }
  48. mysql_close();
  49. ?>


Voila et la j'ai un problem :


Warning: include(mysql_connect.php) [function.include]: failed to open stream: No such file or directory in /www/sites/1/ifrance.com/p/e/pellarox/site/inscription-ok.php on line 4

Warning: include() [function.include]: Failed opening 'mysql_connect.php' for inclusion (include_path='.:/www/usr/lib/php') in /www/sites/1/ifrance.com/p/e/pellarox/site/inscription-ok.php on line 4

Merci de remplir tous les champs

Warning: mysql_close(): no MySQL-Link resource supplied in /www/sites/1/ifrance.com/p/e/pellarox/site/inscription-ok.php on line 48



Le truc c'est que j'ai rempli tout les champs alors ce méssage ne devrai pas apparaitre.
15 Décembre 2008 16:34:55

Déjà tu dois avoir un problème avec ton fichier mysql_connect.php. Es tu certain qu'il soit bien au bon endroit ?

En suite es tu certain que ton expression régulière pour tester le mail soit juste ? et que tu as bien saisie une adresse mail valide ? Si le message apparait c'est qu'un des deux n'est pas bon (ou que tu n'as pas appelé ton champ de formulaire "email" dans ta page html).
15 Décembre 2008 16:37:20

Ouais j'ai mais mon adresse mail lol et pour le fichier il est dans le meme dossier
15 Décembre 2008 16:39:06

Tu as essayé sans les # en début et fin de ton expression régulière ?
16 Décembre 2008 11:34:30

Bon j'en avai marre j'ai coder moi meme un code et celui la marche.

Donc plus de probleme ;)  a+
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS