probleme de confirmation d'inscription.

probleme de confirmation d'inscription. - PHP - Programmation

Marsh Posté le 31-05-2005 à 20:14:13    

Bonjour a tous.
 
J'ai fait ce tuto http://www.siteduzero.com/vostutos [...] tutoid=160
 
et voila mon probleme:
 
Meme si le membre qui s'inscrit, ne clique pas sur le lien de confirmation d'inscription dans le mail qui lui est destiner , celui ci peut ce connecter.
 
Comment faire pour qu'il ne puisse ce connecter qu'une fois qu'il a confirmer en cliquant sur ce lien.
 
Dans ma table j'ai bien un chamsp confirm , actuellement j'ai ca dans la case en face mon nom de membre
 
82dj74knxzl1rpshm0tea39yuocqf5gwbv6i  
 
 
Alors le souci c'est , j'ai fait ca :
sur cette page http://www.siteduzero.com/vostutos [...] 171&page=4
 
il dit:
 
Il faut remplacer ce qu'il y a dans le champ confirm par rien, donc:

Code :
  1. <? if($data['nb'] == 1) //on verifie si les données sont correctes
  2. { //si elles sont correctes
  3. mysql_query("UPDATE membres SET `confirm`='' WHERE `login` ='$login'" ); // on remplace ce qu'il y a dans confirm par '', c'est pas trop dur a comprendre
  4. ?>
  5. <p>Votre compte à bien été créé</p>
  6. <p>Pour retournez a la page d'acceuil cliquez <a href="http://monsiteweb.fr">ici</a> </p>
  7. <?
  8. } //si les données sont incorrectes
  9. else
  10. {
  11. ?>
  12. <p>Veuillez vous reinscrire</p>
  13. <?
  14. }
  15. mysql_close(); // on peut refermé le base de donnée
  16. ?>


 
moi je clique sur le lien de confirmation , ensuite je vais voir dans ma base , et j'ai toujours un truc ecrit dans confirm, pourtant le compte est bien creer
Byzarre


Message édité par wydook le 01-06-2005 à 13:30:17
Reply

Marsh Posté le 31-05-2005 à 20:14:13   

Reply

Marsh Posté le 31-05-2005 à 20:24:51    

Je suppose que le script de "login" possède une requête du genre :
 

Citation :

"SELECT * FROM membres WHERE login = '$login' AND password = '$password' AND confirm = ''";


 
S'il n'y a pas ce qu'il y a en gras, il faut le rajouter.
 
Si c'est le cas, il faut voir s'il faut pas remplacer :
 

Citation :

mysql_query("UPDATE membres SET `confirm`='' WHERE `login` ='$login'" );


 
par  
 

Citation :

mysql_query("UPDATE membres SET `confirm`='' WHERE `login` ='".$_GET['login']."'" );


 
(si la confirmation se fait par une url cliquable dans le mail).
 
PS: je n'arrive pas à voir le tuto moi


Message édité par nulloz le 31-05-2005 à 20:26:07
Reply

Marsh Posté le 31-05-2005 à 20:33:20    

j'ai modifer les liens

Reply

Marsh Posté le 01-06-2005 à 13:17:09    

up

Reply

Marsh Posté le 01-06-2005 à 19:56:13    

Bon je reprend tout a zero.
 
j'ai un script ou les membres s'inscrivent . Une fois le formulaire validé ils recoivent un mail avec dedans un hyperliens leur permettant de valider leur compte.
 
C'est du genre
 
http://www.mon-site/membres/confir [...] fyzwgsj1lp
 
Avant que le membre ne clique sur ce lien  dans le champs confirm de ma table il y a :
2n4xvum5bt0re8ic93khdaq6o7fyzwgsj1lp
 
Logiquement a l'aide de ce formulaire une fois que le membre clique sur ce lien je devrait avoir ca , ce qui n'est pas le cas , ca veut pas fonctionner :
''  
à la place de  
2n4xvum5bt0re8ic93khdaq6o7fyzwgsj1lp
 
voici le formulaire ou les membres sont rediriger quand ils clique sur le lien. Je precise qu'une fois que l'on clique sur le lien on a bien le message de confirmation de creation du  compte

Code :
  1. <?
  2. mysql_connect("localhost","","" );
  3. mysql_select_db("" );
  4. $sql = 'SELECT COUNT(*) as nb FROM membres WHERE pseudo = "'.addslashes($_GET['pseudo']).'" AND confirm = "'.addslashes($_GET['confirm']).'"';
  5. $req = mysql_query($sql) or die(mysql_error());
  6. $data = mysql_fetch_array($req);
  7. if($data['nb'] == 1)
  8. {
  9. mysql_query("UPDATE membres SET `confirm`='' WHERE `pseudo` ='$pseudo'" ) or die('erreur : '.mysql_error());
  10. ?>
  11. <p>Votre compte à bien été créé</p>
  12. <p>Pour retournez a la page d'acceuil cliquez <a href="http://www.meteo-world.com">ici</a> </p>
  13. <?
  14. }
  15. else
  16. {
  17. ?>
  18. <p>Veuillez vous reinscrire</p>
  19. <?
  20. }
  21. mysql_close();
  22. ?>


 
 
 
 

Reply

Marsh Posté le 02-06-2005 à 09:20:38    

je voudrais savoir comment faire pour que seul les membres ayant le chiffre 1 dans le champs confirm puissent se connecté.
 
Voilà mon fichier login.php
 
 

Code :
  1. <?
  2. $base = mysql_connect ("localhost", "***", "***" );
  3. mysql_select_db("***", $base);// pensez a mettre vos données
  4. if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['password'])) { 
  5. extract($_POST); 
  6. // on recupère le password de la table qui correspond au login du visiteur   
  7. $sql = "select password from membres where pseudo='".$pseudo."'"; 
  8. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
  9. $data = mysql_fetch_assoc($req); 
  10. if($data['password'] != $password) {   
  11. echo '<p>Mauvais pseudo / password. <a href="membres/connecter.php">Cliquez ici pour réessayer</a>  </p>';   
  12.    
  13. exit;
  14. else {   
  15. session_start();   
  16. $_SESSION['pseudo'] = $pseudo;       
  17. echo 'Vous êtes bien logué <br /> <a href="http://www.mon site.com">
  18. Cliquez ici</a> si la redirection ne marche pas.';   
  19. include('membres.php'); // ici vous pouvez afficher un lien pour renvoyer     
  20. // vers la page d'accueil de votre espace membres   
  21. }   
  22. }
  23. else
  24. echo '<p>vous avez oublié un champs.</p>'; 
  25. include('connexion.php'); // On inclut le formulaire d'identification   
  26. exit;
  27. }
  28. ?>

 
 
 
 
Ou alors est ce  
 
<?
session_start();
?>
 
 
qu'il faut changer sur toutes les pages  


Message édité par wydook le 02-06-2005 à 10:25:39
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed