Problème de validation d'email

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de validation d'email

par analfabete » 09 nov. 2006, 22:38

Arf j'ai voulu voir les variable que ej recupéré et je me suis apercu que c été db0023 identifiant de base base de donnée en effet dans les info de connection bdd j'avai une variable login...
Encore mille excuse et moi qui galérer depuis hier...

par analfabete » 09 nov. 2006, 22:28

Un echo $data donne un champ vide...

par Cyrano » 09 nov. 2006, 20:25

Alors fais afficher la première requête pour la tester directement avec phpMyAdmin

par analfabete » 09 nov. 2006, 20:23

arf non sa ne marche toujours pas il me dis que ma validation expiré ... :cry:

par Cyrano » 09 nov. 2006, 19:55

analfabete, les "up" sont interdits :non:

Sinon, regarde moi un peu ce code : c'est quoi cette requête toute seule dans le if() :?:

D'abord elle est fausse et ensuite elle n'est jamais exécutée : que doit au juste faire ce script ?

Alors à priori, le code fonctionnel après quelques corrections (pas tout) devrait ressembler davantage à ceci :
<?php
$login = $_GET['login'];
$cle   = $_GET['cle'];
include('../script/connect_db.php');

$sql  = "SELECT COUNT(*) FROM membre WHERE login='". $login ."' AND cle='". $cle ."';";
$req  = mysql_query($sql) or die(mysql_error());
$data = mysql_result($req, 0);
mysql_free_result($req);
if ($data == 1)
{
    $sql = "UPDATE membre SET actif='1', cle='' WHERE login='". $login ."'";
    mysql_query($sql) or die("<p>Erreur d'exécution de la requête :<br />\n". $sql ."<br />\nErreur ". mysql_errno() ." : ". mysql_error() ."</p>");
    echo '<META http-EQUIV="Refresh" CONTENT="2; url=/pages/membres.php">';
}
else
{
    echo "Votre validation a expiré merci de bien vouloir vous réinscrire";
}
?>

par analfabete » 09 nov. 2006, 17:54

up :cry:

par analfabete » 09 nov. 2006, 10:12

Ton script lorsque je valide me redirige vers la page memùbre cependant dans ma table membre la clé et le statut actif reste comme il été lors de l inscription...
Deplus pense tu qu'il faille que je mette la clée et le statut actif dans une table différente car pour l'instant il se trouve dans la table membre, deplus la seul clé primaire est "idmembre"

Correction

par stefane321 » 09 nov. 2006, 05:02

Essais plutot ceci:
<?
    $login =$_GET['login'];
    $cle =$_GET['cle'];    
include('../script/connect_db.php');
        
        $sql = "SELECT count(*) FROM membre WHERE login='$login' AND cle='$cle'";
        $req = mysql_query($sql) /*or die(.mysql_error())*/;
        if($data = mysql_fetch_array($req)){ 
                    "UPDATE membre SET actif='1' AND cle='' WHERE login='$login'";
                    echo '<META http-EQUIV="Refresh" CONTENT="2; url=/pages/membres.php">';
                            }
        
        else  {echo "Votre validation a expiré merci de bien vouloir vous réinscrire";
                }
      ?>

Essais

par stefane321 » 09 nov. 2006, 04:36

Essais de remplacer $data[0] par $data["id"]

En supposant que le champ que tu utilise comme clef primaire est id

Problème de validation d'email

par analfabete » 08 nov. 2006, 18:36

Mon formulaire d'inscription est enfin terminer et j'ai decider de créer un email de confirmation pour que le compte du membre soit actif.

Voilà le code de validation.php:
 <?
	$login =$_GET['login'];
	$cle =$_GET['cle'];	
include('../script/connect_db.php');
		
		$sql = "SELECT count(*) FROM membre WHERE login='$login' AND cle='$cle'";
        $req = mysql_query($sql) /*or die(.mysql_error())*/;
        $data = mysql_fetch_array($req);
        mysql_free_result($req);
	
		if ($data[0] == 1) { 
					"UPDATE membre SET actif='1' AND cle='' WHERE login='$login'";
					echo '<META http-EQUIV="Refresh" CONTENT="2; url=/pages/membres.php">';
							}
		
		else  {echo "Votre validation a expiré merci de bien vouloir vous réinscrire";
				}
	  ?>
Comment marche le script:
1/ je recupere le login et la clé qui a été généré et mit ds la table membre lors de l'inscription
2/Je cherche le login et la clé correspondante dans la table et je met le résultat de la recherche dans un tableau (array)
3/Si le resultat du tableau est TRUE, je met a jour la table membre en changeant l'attribut actif qui passe de 0 à 1(membre actif), je change la clé en rendant l'attribut vide sinon j'indique le message d'erreur
Je susi sur que :
_ les variable login et cle sont bien récupérer de l'url
_que la connection marche

Le problème: la variable $data est toujours fausse et donc j'ai la phrase "Votre validation a expiré merci de bien vouloir vous réinscrire"