Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/11/2011, 19h10   #1
Futur Membre du Club
 
Inscription : avril 2005
Messages : 90
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 90
Points : 16
Points : 16
Envoyer un message via MSN à xboulney
Par défaut Test variable ne se declenche pas

Bonsoir à tous et comme d'hab merci à ceux qui prendront le temps de me lire et de me repondre.

Voila mon probleme ce morceaux de code ci-dessous est censé verifier si un utilisateur est deja enregistrer avec un meme 'username' mais à chaque fois que je teste il laisse passez l'inscription d'un nouveau membre avec un 'username' deja existant.

Voici le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
session_start();
 
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['register']) && $_POST['register'] == 'register') { 
   // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
   if ((isset($_POST['mail_address']) && !empty($_POST['mail_address'])) && (isset($_POST['username']) && !empty($_POST['username'])) && (isset($_POST['password']) && !empty($_POST['password'])) && (isset($_POST['confirm_password']) && !empty($_POST['confirm_password']))) { 
 
	  //On enleve lechappement si get_magic_quotes_gpc est active
        if(get_magic_quotes_gpc())
        {
                $_POST['username'] = stripslashes($_POST['username']);
                $_POST['password'] = stripslashes($_POST['password']);
                $_POST['confirm_password'] = stripslashes($_POST['confirm_password']);
                $_POST['mail_address'] = stripslashes($_POST['mail_address']);
        }
 
	  // on teste les deux mots de passe
      if ($_POST['password'] == $_POST['confirm_password']) { 
         $erreur = 'The two passwords are different.'; 
      } 
      else { 
      $base = mysql_connect ('XXXX', 'XXX', ''); 
      mysql_select_db ('XXXX', $base); 
 
 
         // on recherche si ce username est déjà utilisé par un autre membre
         $sql = 'SELECT id FROM user WHERE username="'.mysql_escape_string($_POST['username']).'"'; 
         $req = mysql_query($sql) or die('erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
         $data = mysql_fetch_array($req); 
 
         if ($nb == 0) {  
            $sql = 'INSERT INTO user VALUES("" ,"'.mysql_escape_string($_POST['mail_address']).'", "'.mysql_escape_string($_POST['username']).'", "'.mysql_escape_string(md5($_POST['password'].$salt)).'")'; 
            mysql_query($sql) or die('erreur SQL !'.$sql.'<br />'.mysql_error()); 
 
			 // on récupère l'id de notre nouveau membre
            $id = mysql_insert_id();
 
            session_start(); 
            $_SESSION['username'] = $_POST['username']; 
 
			// on stocke cet id dans une variable de session
            $_SESSION['id'] = $id; 
            header('Location: index.php'); 
            exit(); 
         } 
         else { 
            $erreur = 'Another member is already using this pseudo or email'; 
         } 
      } 
   } 
   else { 
      $erreur = 'Please fill in all fields'; 
   }  
}  
?>
Merci à tous. Bonne soirée.
xboulney est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 20h05   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

$nb vient d'où ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 10h44   #3
Futur Membre du Club
 
Inscription : avril 2005
Messages : 90
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 90
Points : 16
Points : 16
Envoyer un message via MSN à xboulney
Bonne question... C'est une partie de script que j'ai récupérer quelque part et que j'ai modifié quelque peu. Il ne me semble pas avoir modifié cette partie qui devait déjà exister dans le code.
xboulney est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 11h39   #4
Membre confirmé
 
Inscription : décembre 2005
Messages : 265
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : décembre 2005
Messages : 265
Points : 232
Points : 232
Vu le code, je pense qu'il suffit de remplacer, ligne 30 :
Code :
$data = mysql_fetch_array($req);
par
Code :
$nb = mysql_num_rows($req);
Palca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 18h48   #5
Futur Membre du Club
 
Inscription : avril 2005
Messages : 90
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 90
Points : 16
Points : 16
Envoyer un message via MSN à xboulney
Par défaut Test variable ne se declenche pas

Ok super ! Ca fonctionne ! Merci à toi.
xboulney est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h37.


 
 
 
 
Partenaires

Hébergement Web