logo Homepage
+  NewbieContest
|-+  Programmation» Langages Web» unexpected '{'
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: unexpected '{'  (Lu 4314 fois)
anycilkler
Profil challenge

Classement : 34485/54284

Membre Complet
***
Hors ligne Hors ligne
Messages: 127


Voir le profil
« le: 02 Avril 2006 à 16:54:21 »

Bonjours a tous
Je suis en train de faire mon propre site http://www.webnot.c.la, je suis actuellement sur le système d'inscription qui aurait comme un léger problème lol, jamais trouvé ce que c'était
voilà pour vous, si vous avez le temps et/ou l'envie de m'aider:
Script de vérification des informations entrés et envoie de l'email ou retournement d'une erreur (http://jdhosts.net/webnot/inscription/envoie.php)
Code:
// le message qui sera envoyé au nouveau membre
$message = 'Cher '.$pseudo.',';
$message .= 'Tout d\'abord, merci de vous être inscrit sur webnot.c.la. Sachez que vous contribuez dès maintenant en quelque sorte à la création et a l\'évolution du site. ';
$message .= 'Comme vous avez pu lire sur le site, en vous inscrivant sur webnot.c.la, vous obtenez un accès à des choses dont un visiteur n\'a pas accès. Vous pourrez entre autre demandez que votre site soit noté, vous pouvez aussi écrire dans le livre d\'or et d\'autres chose encore qui seront détaillés sur votre page membre.  ';
$message .= 'Pour vous connectez, il vous faudra retenir vos identifiants. C\'est pourquoi je vous rappelles ces identifiants dans cette email, sachez que si vous effacez se mail et oubliez vos identifiants nous ne sommes pas en mesure de les retrouvés dans notre base de données, en tout cas pas avant une prochaine version du site, mais dans ce cas là vous pouvez demandés a se qu\'un nouveau mot de passe vous soient envoyés mais ce n\'est pas très pratique.';
$message .= 'Identifiant: '.$pseudo.' Password: '.$password.' ';
$message .= 'Si il y a un problème quelqu\'on que avec vos identifiants, avec la connexion ou tout autres chose vous pouvez allés sur le forum (http://forum-web-notes.c.la) ou vous serez renseignés et aidés le plus vite possible.';
$message .= 'Cordialement L\'administration de WebNot';

$pseudo = htmlentities($_POST['pseudo']);

$password = htmlentities($_POST['password']);

$pass2 = htmlentities($_POST['pass2']);
$pass2 = md5($pass2);

$email = htmlentities($_POST['email']);
$email2 = htmlentities($_POST['email2']);

$code1 = htmlentities($_POST['code']);

$acceptation = ($_POST['acceptation']);

$code = $_SESSION['code'];
$code1 = $_POST['code'];

if(isset($pseudo) || isset($password) || isset($pass2) || isset($email) || isset($email2) || isset($code1) || isset($acceptation)   || isset($code)) // Si les variables contenant les valeurs existent : si l'user à envoyé le formulaire
{
                if(!empty($pseudo) || !empty($password) || !empty($pass2) || !empty($email) || !empty($email2) || !empty($acceptation)) // Si les variables contiennent quelque chose
                {
                        if(isset($acceptation))// Si le règlement est accepté
                        {
                                if($password = $pass2)// Si les deux mots de passe sont bien les même
                                {
                                        mysql_connect("****","****","*****"); // On se connecte à MySQL
mysql_select_db("****");    // On se connecte à MySQL

                                        // Puis on regarde si le pseudo existe déjà
                                        $verification = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='$pseudo'") or die (mysql_error());
$donnees = mysql_fetch_array($verification) or die (mysql_error());

                                        if(mysql_result($donnees‚ 0‚ 'nb_pseudo') != 0) // Si le pseudo existe déjà
                                        {
                                            $erreur = 'Le pseudo entré est déjà pris. Veuillez choisir un autre pseudo.';
                                        }
                                        else
                                        {
                                                if(preg_match('!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!', $email) // Si l'adresse mail entrée est une adresse mail valide
                                                {
// Alors tout est bon‚ on peut inscrire l'utilisateur
                                                        $erreur = 'Vous êtes bien inscrit!';
// Instructions SQL
                                                mysql_query("INSERT INTO membres
(id, pseudo, password, email) VALUES
('','$pseudo', '$password', '$email')");
mail($email,'Inscription à WebNot',$message);
}
                                                else
                                                {
                                                        $erreur = 'L\'adresse e–mail entrée n\'est pas valide';
                                                }
                                        }
                                }
                                else
                                {
                                        $erreur = 'Les mots de passe entrés sont différents.';
                                }
                        }
                        else
                        {
                                $erreur = 'Vous n\'avez pas coché la case de confirmation du règlement. Lire le règlement est <strong>impératif !</strong>.';
                        }
                }
                else
                {
                        $erreur = 'Au moins un des champs est vide.';
                }
        }
   if (isset($erreur))
            {
                    echo $erreur;
            }
mysql_close();
?>
merci beaucoup a tous, longue vie a NC
Gros bisou a tous les admins qui partent et qui ont telement fait pour Newbies-Contest.
Journalisée
S0410N3
Administrateur

Profil challenge

Classement : 10/54284

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1260


Voir le profil WWW
« #1 le: 02 Avril 2006 à 20:00:30 »

if(preg_match('!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!', $email)

il te manque une parenthèse à la fin donc :

if(preg_match('!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!', $email))
Journalisée

Enjoy (copyleft de quelqu'un qui a trop parlé)

S0410N3

-------------------------------------------------------------------------------------
La folie est le prix à payer pour le temps passé à être trop lucide.
-------------------------------------------------------------------------------------
http://forum.hardware.fr/hfr/Discussions/Societe/francais-repere-repaire-sujet_19265_1.htm
anycilkler
Profil challenge

Classement : 34485/54284

Membre Complet
***
Hors ligne Hors ligne
Messages: 127


Voir le profil
« #2 le: 02 Avril 2006 à 20:10:15 »

a oui merci beaucoup, maintenant il me dit une autre erreur
Parse error: parse error, unexpected T_LNUMBER in /web/ftpusers/web-notes/inscription/envoie.php on line 43
voilà les lignes 43 à 46
Code:
if(mysql_result($donnees‚ 0‚ 'nb_pseudo') != 0) // Si le pseudo existe déjà
                                        {
                                            $erreur = 'Le pseudo entré est déjà pris. Veuillez choisir un autre pseudo.';
                                        }
encore merci
Journalisée
Perfect Slayer

Profil challenge

Classement : 3028/54284

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #3 le: 03 Avril 2006 à 19:11:34 »

Le 3eme argument de mysql_result doit etre un entier.
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
anycilkler
Profil challenge

Classement : 34485/54284

Membre Complet
***
Hors ligne Hors ligne
Messages: 127


Voir le profil
« #4 le: 03 Avril 2006 à 20:12:03 »

comment sa un entier, nb_pseudo n'est pas un entier , en faite malgré que j'ai étudié le php sur le site du zero, je me suis demandé, c'est quoi un entier, j'ai cherché sur google, il me pond sa: "Un entier est un nombre de l'ensemble des entiers naturels Z : Z = {...., -2, -1, 0, 1, 2, ...} ." je veux pas parraître nul mais là j'ai rien compris.
On a tous été nul
Journalisée
Perfect Slayer

Profil challenge

Classement : 3028/54284

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #5 le: 03 Avril 2006 à 20:22:14 »

Code:
'nb_pseudo' // Chaine de caratère


$nb_pseudo= 10;

$nb_pseudo // La c'est un entier
En entier, en gros.. (je vais pas te faire la démo de la construction du groupe) mais ce sont les nombre "sans virgule" quoi.. genre 0, 1, 2, 3,.. Ca c'est les entiers naturels. Le groupe des entier relatifs comprend le groupe des entiers naturels ainsi que les "nombres" négatifs comme -1, -2, -3 (qui sont les opposés). Entier (ou int en anglais) dans le sens informatique sous entends les entiers relatifs. En gros, ce sont les nombres signés (donc + ou -) sans virgule (pas 1,2 par exemple).
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
anycilkler
Profil challenge

Classement : 34485/54284

Membre Complet
***
Hors ligne Hors ligne
Messages: 127


Voir le profil
« #6 le: 03 Avril 2006 à 20:29:00 »

d'accord j'ai compris MAIS il y a toujours la même erreur

Code:
$nb_pseudo = 0;
$verification = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='$pseudo'") or die (mysql_error());
$donnees = mysql_fetch_array($verification) or die (mysql_error());

                                        if(mysql_result($donnees‚ 0‚ $nb_pseudo) != 0) // Si le pseudo existe déjà
                                        {
                                            $erreur = 'Le pseudo entré est déjà pris. Veuillez choisir un autre pseudo.';
                                        }
j'ai toujours la même erreur, alors la 3eme valeur de mysql_result a beau être un entier, sa marche toujours pas (j'ai essayé de mettre $nb_pseudo dans le mysql_query, sa ne change rien) soit j'ai pas compris, soit je suis débile fini
Journalisée
anycilkler
Profil challenge

Classement : 34485/54284

Membre Complet
***
Hors ligne Hors ligne
Messages: 127


Voir le profil
« #7 le: 05 Avril 2006 à 14:55:39 »

C'est bon j'ai réussi merci beaucoup à Perfect Slayer.
Par contre dans ma joie incachable ce trouve un "mais"
En effet une fois le problème réglé, je clic sur le bouton envoyé de cette page http://jdhosts.net/webnot/inscription/inscription.php sans remplir aucun champs. Il me dit que j'ai pas coché la case du réglement (là sa devient louche si on suit l'ordre du code, que je vous metterais plus bas), bon ok, je coche la case, et j'envoie.
Il me dit que l'adresse email n'est pas valide (encore plus louche), soit, je rentre une adresse email dans la case email mais pas dans celle pour la confirmer! J'envoie et là sous mes yeux ébahit je vois écrit "vous êtes inscrit", je réessaye pour voir si c'était juste un coup du sort, ben non, il me le redit , ni une ni deux je fonce dans ma BDD et je trouve:
Citation
Affichage des enregistrements 0 - 4 (5 total, traitement: 0.0003 sec.)
Citation
id  pseudo  password  email  
      1 BkM floriane !^[a-z0-9._-]+@[a-z0-9._-]{2,}.[a-z]{2,4}$!
      2 hiiiiii hahuhi !^[a-z0-9._-]+@[a-z0-9._-]{2,}.[a-z]{2,4}$!
      3 iuytyuiytiuyt hththt !^[a-z0-9._-]+@[a-z0-9._-]{2,}.[a-z]{2,4}$!
      4 anycilkler blabla !^[a-z0-9._-]+@[a-z0-9._-]{2,}.[a-z]{2,4}$!
      5   d41d8cd98f00b204e9800998ecf8427e blero@gmail.com
Alors là qu'est ce que c'est que tout sa, je n'est jamais essayé de m'inscrire tant de fois, d'où sortent ces mot de passe et pourquoi les adresse email sont elles des regex apars blero@gmail.com (lui c'est un des essais que **orthographe !** fait ).

Le code entier :
Code:
<?php 
// j'ai zappé le mail sa sert a rien de vous le mettre

$pseudo htmlentities($_POST['pseudo']); 

$password htmlentities($_POST['password']); 

$pass2 htmlentities($_POST['pass2']); 
$pass2 md5($pass2); 

$email htmlentities($_POST['email']); 
$email2 htmlentities($_POST['email2']); 

$code1 htmlentities($_POST['code']); 

$acceptation = ($_POST['acceptation']); 

$code $_SESSION['code']; 
$code1 $_POST['code'];

?>


//HTML que je vous est pas mis non plus

<?php
if(isset($pseudo) || isset($password) || isset($pass2) || isset($email) || isset($email2) || isset($code1) || isset($acceptation)   || isset($code)) // Si les variables contenant les valeurs existent : si l'user à envoyé le formulaire
{
                if(!empty(
$pseudo) || !empty($password) || !empty($pass2) || !empty($email) || !empty($email2) || !empty($acceptation)) // Si les variables contiennent quelque chose
                
{
                        if(isset(
$acceptation))// Si le règlement est accepté
                        
{
                                if(
$password $pass2)// Si les deux mots de passe sont bien les même
                                
{
                                        
mysql_connect("localhost","******","******"); // On se connecte à MySQL
mysql_select_db("*******");    // On se connecte à MySQL

                                        
// Puis on regarde si le pseudo existe déjà
                                        
$verification mysql_query("SELECT COUNT(*) FROM membres WHERE pseudo=\"$pseudo\"") or die (mysql_error()); 
$donnees mysql_fetch_array($verification) or die (mysql_error());

                                        if(
$donnees == 1// Si le pseudo existe déjà
                                        
{
    $erreur 'Le pseudo entré est déjà pris. Veuillez choisir un autre pseudo.';
$donnees 0;
                                        }
                                        else
                                        {
                                                if(
preg_match('!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!'$email)) // Si l'adresse mail entrée est une adresse mail valide
                                                

// Alors tout est bon‚ on peut inscrire l'utilisateur 
                                                        
$erreur 'Vous êtes bien inscrit!'
// Instructions SQL
                                                
mysql_query("INSERT INTO membres
(id, pseudo, password, email) VALUES
('','
$pseudo', '$password', '$email')");
mail($email,'Inscription à WebNot',$message);
}
                                                else
                                                {
                                                        
$erreur 'L\'adresse email entrée n\'est pas valide';
                                                }

                                        }
                                }
else
                                {
                                        
$erreur 'Les mots de passe entrés sont différents.';
                                }
                        }
                        else
                        {
                                
$erreur 'Vous n\'avez pas coché la case de confirmation du règlement. Lire le règlement est <strong>impératif !</strong>.';
                        }
                }
                else
                {
                        
$erreur 'Au moins un des champs est vide.';
                }
        }
    if (isset($erreur))
            {
                    echo 
$erreur;
            }
?>
Merci a tous,
Et merci a ceux qui ont au moin lu jusqu'au bout!
Journalisée
Pages: [1]
  Imprimer  
 
Aller à: