Tom's Guide > Forum > Programmation > Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'..
Mot :    Pseudo :           
 

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();

?>

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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

Répondre à dj-z

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

Répondre à loic m

Ouais sa j'ai courrigé maintenant le problem c'est a la fin

Répondre à dj-z

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

 

Edit : Il doit manquer un } à la fin.


Message édité par loic m le 15-12-2008 à 16:24:10
Répondre à loic m

Exacte,

J'ai tout remis a jours :

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



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.

Répondre à dj-z

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).


Message édité par loic m le 15-12-2008 à 16:36:07
Répondre à loic m

Ouais j'ai mais mon adresse mail lol et pour le fichier il est dans le meme dossier

Répondre à dj-z

Tu as essayé sans les # en début et fin de ton expression régulière ?

Répondre à loic m

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

Donc plus de probleme ;) a+

Répondre à dj-z
Tom's Guide > Forum > Programmation > Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'..
Aller à :

Il y a 1978 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens