Problème Compte Actif
Posté : 07 févr. 2011, 21:22
Bonjour,
J'ai réussi ( avec des cheveux en moins et beaucoup d'aide lol ) à réaliser une confirmation par mail d'inscription à un site quelconque.
J'ai un champ " actif " dans ma base à zero et qui passe à 1 quand le compte et actif et qui permet de se logger ensuite.
Mon problème est que même si le compte est inactif, mon fichier de log laisse passer l'utilisateur.
Je dois avoir pas mal d'erreurs là dedans:
Merci par avance:
J'ai réussi ( avec des cheveux en moins et beaucoup d'aide lol ) à réaliser une confirmation par mail d'inscription à un site quelconque.
J'ai un champ " actif " dans ma base à zero et qui passe à 1 quand le compte et actif et qui permet de se logger ensuite.
Mon problème est que même si le compte est inactif, mon fichier de log laisse passer l'utilisateur.
Je dois avoir pas mal d'erreurs là dedans:
Merci par avance:
Code : Tout sélectionner
<?
require("conf.php");
/*-----------------------------------------------------------------*/
/* PROGRAMME PRINCIPAL */
/*-----------------------------------------------------------------*/
// CONNEXION A LA BASE DE DONNEE
$conn = mysql_pconnect($sql_serveur, $sql_user, $sql_passwd) or trigger_error(mysql_error(),E_USER_ERROR);mysql_select_db($sql_bdd, $conn);
// Récupération des variables necessaires à la vérification du champ 'actif' de la BDD
$login = $_POST['pseudo_membre'];
// Récupération de la valeur du champ actif pour le login $login
$sql = "SELECT actif FROM membre WHERE pseudo like '%$login%'";
$result = mysql_query($sql)or die(mysql_error());
$row= mysql_fetch_assoc($result);
$num_rows=mysql_num_rows($result);
if($num_rows!=1)
{
$actif = $row['actif']; // $actif contiendra alors 0 ou 1
}
else
{
$actif = ''; // $actif contiendra alors 0 ou 1
} /**/
// Il ne nous reste plus qu'à tester la valeur du champ 'actif' pour
// autoriser ou non le membre à se connecter
if($actif == '1') // Si $actif est égal à 1, on autorise la connexion
{
//...
// On autorise la connexion...
//...
}
else // Sinon la connexion est refusé...
{
//...
header("Location:$url_erreur");
//...
}
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
// MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
$requete="select pseudo,passe from membre where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"";
$row2 = mysql_query($requete)or die(mysql_error());
// SI AUCUN ENREGISTREMENT NE CORRESPOND
if(mysql_num_rows($row2)==0)
{
// REDIRECTION VERS LA PAGE ERREUR
header("Location:$url_erreur");
}
// SI LE LOGIN ET MOT DE PASSE SONT EXACTES
else
{
// CREATION D'UN IDENTIFIANT ALEATOIRE
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}
// MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE
$requete2="update membre set id=\"$id\" where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"";
$row3 = mysql_query($requete2)or die(mysql_error());
// REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE
header("Location:agenda.php?id=$id");
}
?>