Formulaire de connexion
bonsoir,
je encore un problem avec la connexion de l'espace membre
voici le mon problem:
dans mon formulaire de connexion, meme si que saisis les bonnes informations, je arrivent a se connecter a mon espace membre donc je voudrai que vous m'aidiez s'il vous plait et vois mon code de connexion:
<strong></strong>
<div class="contenu">
<h2>Controle System accese </h2>
<form method="post" action="">
<label for="login">login:</label>
<input type="text" name="login" /><br />
<label for="pass">Password :</label>
<input type="password" name="pass" />
<br />
<button class="btn btn-primary" type="submit" name="submit">Connexion</button>
</form>
<?php
include'fonctions/connection_BDD.php';
if(isset($_POST['submit'])){
$login='';
$pass='';
if(empty($_POST['login']))
{
$erreurs[] = "Veuillez renseigner le champs login";
}
if(empty($_POST['pass']))
{
$erreurs[] = "Veuillez saisir votre mot de passe";
}
if(!empty($erreurs))
{
foreach($erreurs as $erreur)
{
echo"<div class='erreur'>".$erreur."</div>";
}
}else{
if(verie_couple_login_password($login,$pass)==0)
{
echo '<div class="erreur">Pseudo ou password invalid</div>';
}else{
$_SESSION['login']=$login;
$_SESSION['pass']=$pass;
header("location:index.php");
}
}
}
?>
you don't have a count?<a href="interface.php?page=incription" title="pour les personnes n'ayant pas un compte">Cliquez ici</a>
<div align="center"></div>
</div>
et voici la fonction permettant de verifier la combinaison de couple login/pass
function verie_couple_login_password($login,$pass)
{
$pass=sha1($pass);
$resulte=mysql_query("SELECT nom, password FROM utilisateur WHERE nom='$login' AND password='$pass'") or die("erreur");
$rows=mysql_num_rows($resulte);
return $rows;
}
je encore un problem avec la connexion de l'espace membre
voici le mon problem:
dans mon formulaire de connexion, meme si que saisis les bonnes informations, je arrivent a se connecter a mon espace membre donc je voudrai que vous m'aidiez s'il vous plait et vois mon code de connexion:
<strong></strong>
<div class="contenu">
<h2>Controle System accese </h2>
<form method="post" action="">
<label for="login">login:</label>
<input type="text" name="login" /><br />
<label for="pass">Password :</label>
<input type="password" name="pass" />
<br />
<button class="btn btn-primary" type="submit" name="submit">Connexion</button>
</form>
<?php
include'fonctions/connection_BDD.php';
if(isset($_POST['submit'])){
$login='';
$pass='';
if(empty($_POST['login']))
{
$erreurs[] = "Veuillez renseigner le champs login";
}
if(empty($_POST['pass']))
{
$erreurs[] = "Veuillez saisir votre mot de passe";
}
if(!empty($erreurs))
{
foreach($erreurs as $erreur)
{
echo"<div class='erreur'>".$erreur."</div>";
}
}else{
if(verie_couple_login_password($login,$pass)==0)
{
echo '<div class="erreur">Pseudo ou password invalid</div>';
}else{
$_SESSION['login']=$login;
$_SESSION['pass']=$pass;
header("location:index.php");
}
}
}
?>
you don't have a count?<a href="interface.php?page=incription" title="pour les personnes n'ayant pas un compte">Cliquez ici</a>
<div align="center"></div>
</div>
et voici la fonction permettant de verifier la combinaison de couple login/pass
function verie_couple_login_password($login,$pass)
{
$pass=sha1($pass);
$resulte=mysql_query("SELECT nom, password FROM utilisateur WHERE nom='$login' AND password='$pass'") or die("erreur");
$rows=mysql_num_rows($resulte);
return $rows;
}
6 réponses
-
ModérateurBonjour,
Déjà... prend l'habitude de mettre le maximum de php AVANT le html.
Cela rend plus facile le debogage du code par la suite....
Récupères également proprement les variables AVANT de les utiliser.
Pour cela tu peux utliser des !empty ou isset avec l'écriture Ternaire...
Peux tu essayer ceci :<code php> <?php //Affichage des erreurs PHP error_reporting(E_ALL); //Connexion à la BDD require_once 'fonctions/connection_BDD.php'; //récupération "propre" des variables $login=!empty($_POST['login']) ? $_POST['login'] : NULL; $pass=!empty($_POST['pass']) ? $_POST['pass'] : NULL $erreurs = array(); if(isset($_POST['submit'])){ if(!$login){$erreurs[] = "Veuillez renseigner le champs login";}; if(!$pass){$erreurs[] = "Veuillez saisir votre mot de passe";}; if(verie_couple_login_password($login,$pass)==0){ $erreurs[] = '<div class="erreur">Pseudo ou password invalid</div>'; }else{ $_SESSION['login']=$login; $_SESSION['pass']=$pass; header("location:index.php"); } } } ?> <strong></strong> <div class="contenu"> <h2>Controle System accese </h2> <form method="post" action=""> <label for="login">login:</label> <input type="text" name="login" /><br /> <label for="pass">Password :</label> <input type="password" name="pass" /> <br /> <button class="btn btn-primary" type="submit" name="submit">Connexion</button> </form> <?php if(!empty($erreurs)) { foreach($erreurs as $erreur) { echo"<div class='erreur'>".$erreur."</div>"; } } ?> you don't have a count?<a href="interface.php?page=incription" title="pour les personnes n'ayant pas un compte">Cliquez ici</a> <div align="center"></div> </div>
</code>
PS: Tu utilises l'ancienne extension Mysql....
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
je t'invite fortement à passer à PDO ou à Mysqli.
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
-
-
Modérateur@adamsjilal- Le même problème...C'est à dire ?
- Tu es passé à la PDO comme je te l'ai conseillé ?
- Tu as testé ta requête DIRECTEMENT dans ta BDD pour voir si elle fonctionne ?? -
Bonjour,
le probleme c est pas la connexion a la base mais c pblm de code
normalement la fonction Mysql_num_rows retourn une valeur entiere
en parcourant si ellle trouve une ou le nom est egal a celui poster par le formulaire et le champs password de la base est egal a celui poster aussi par le formaulair dans ce cas elle devrai dir qu elle a trouver a une personnee et qu'elle charger la partie du code ou le condition verifier. mais lorsque je dit ainsi:
else{
if(verie_couple_login_password($login,$pass)==0)//la fonction verifiant un utilisateur bien identifier
{
session_start();
$_SESSION['login']=$login;
$_SESSION['pass']=$pass;
header("location:index.php");
}else{
echo '<div class="erreur">erreur de password ou pesudo</div>';
}
normalement lorsque le resultats de la focntions verifi_couple_login_password($login, $pass)==1), je devrai acceder mon espace membre mais ce n'est pas le cas. c'est le cas contraire que j'y arrive acceder l 'espace membre. c'est a dire lorsque je saisie des fauses information il me permet d'acceder l'espace memebre et lorsque je saisie des informations apropriés adequat il me di que pass ou login incorrecte:
voici la fonction qui permet de verifier les couple logine password:
function verie_couple_login_password($login,$pass)
{
$pass=sha1($pass);
$resulte=mysql_query("SELECT nom, password FROM utilisateur WHERE nom='$login' AND password='$pass'") or die("erreur");
$rows=mysql_num_rows($resulte);
return $rows;
} -
-
-