Formulaire de connexion.php

Fermé
CrazyGui - 6 août 2012 à 13:19
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 9 août 2012 à 13:39
Bonjour,

voila mon problème j'ai voulu créer un formulaire de connexion en php, le html j'ai très bien réussi mais lorsque je met le code php pour se connecter à la base de donnée, vérifier le login etc.... cela ne fonctionne plus, j'ai essayer tous les codes que j'ai trouvé sur internet mais aucun ne fonctionne. Si quelqu'un pouvait me donner un code php pour le formulaire de connexion vérification login et mdp dans la bdd avec les messages d'erreurs possibles, le "Bienvenue ...pseudo...." sur chaque page, et le bouton déconnexion. Ce serait vraiment sympa de votre part :D


Cordialement, CrazyGui.

3 réponses

J'ai copié un code php pour la connexion mais je ne vois pas où sont les erreurs . J'ai bien remplacé tout ce qu'il fallait mais ma page connexion.php ne fonctionne pas lorsque je rentre ce code.
codes php :
<?php

session_start();

include "header.inc.php"

$BDD = mysql_connect("localhost","root",""); // Connexion à la base de données.
mysql_select_db("database"); // Sélection de la base de données utilisée.

// On met les variables utilisés du script PHP à FALSE.
$error = FALSE;

$connexionOK = FALSE;

// On regarde si l'utilisateur a bien utilisé le module de connexion pour traiter les données.
if(isset($_POST["connexion"])){

// On regarde si tout les champs sont remplis. Sinon on lui affiche un message d'erreur.
if($_POST["login"] == NULL OR $_POST["pass"] == NULL){

$error = TRUE;

$errorMSG = "Vous devez remplir tous les champs !";

}

// Sinon si tout les champs sont remplis alors on regarde si le nom de compte rentré existe bien dans la base de données.
else{

$sql = "SELECT login FROM Utilisateurs WHERE login = '".$_POST["login"]."' ";

$req = mysql_query($sql);

// Si oui, on continue le script...
if($sql){

// On sélectionne toute les données de l'utilisateur dans la base de données.
$sql = "SELECT * FROM Utilisateurs WHERE login = '".$_POST["login"]."' ";

$req = mysql_query($sql);

// Si la requête SQL c'est bien passé...
if($sql){

// On récupère toute les données de l'utilisateur dans la base de données.
$donnees = mysql_fetch_assoc($req);

// Si le mot de passe entré à la même valeur que celui de la base de données, on l'autorise a se connecter...
if($_POST["pass"] == $donnees["pass"]){

$connexionOK = TRUE;

$connexionMSG = "Connexion au site réussie. Vous êtes désormais connecté !";

$_SESSION["login"] = $_POST["login"];

$_SESSION["pass"] = $_POST["pass"];

}

// Sinon on lui affiche un message d'erreur.
else{

$error = TRUE;

$errorMSG = "Nom d'utilisateur ou mot de passe incorrect !";

}

}

// Sinon on lui affiche un message d'erreur.
else{

$error = TRUE;

$errorMSG = "Nom d'utilisateur ou mot de passe incorrect !";

}

}

// Sinon on lui affiche un message d'erreur.
else{

$error = TRUE;

$errorMSG = "Nom d'utilisateur ou mot de passe incorrect !";

}

}

}

mysql_close($BDD);

?>

<?php if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])){

echo "<p style="color:green">Bienvenue <strong>" echo .$_SESSION["login"]."</strong></p>";

}
?>

<?php if($error == TRUE){ echo "<p align="center" style="color:red"><strong>".$errorMSG."</strong></p>"; } ?>

<?php if($connexionOK == TRUE){ echo "<p align="center" style="color:green"><strong>".$connexionMSG."</strong></p>"; } ?>

code html :

<html>
<body>
<div id="contenu">
<h2><strong>Connexion :</strong></h2>
<form action="connexion.php" method="post">
<table>
<tr>
<td><label for="login"><strong>Nom d'utilisateur :</strong></label></td>
<td><input type="text" name="login" id="login"/></td>
</tr>
<tr>
<td><label for="pass"><strong>Mot de passe :</strong></label></td>
<td><input type="password" name="pass" id="pass"/></td>
</tr>
</table>
<input type="submit" name="connexion" value="Se connecter">
</form>
</div><!-- #contenu -->
</body>
</html>
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
9 août 2012 à 13:39
// On sélectionne toute les données de l'utilisateur dans la base de données.
$sql = "SELECT * FROM Utilisateurs WHERE login = '".$_POST["login"]."' ";

$req = mysql_query($sql);

// Si la requête SQL c'est bien passé...
if($sql){


ça ne verifie rien du tout, $sql contient le texte de ta requette, il faut verifier que la requette a trouvé un enregistrement correspondant au login

// On sélectionne toute les données de l'utilisateur dans la base de données.
$sql = "SELECT * FROM Utilisateurs WHERE login = '".$_POST["login"]."' ";

$req = mysql_query($sql);

// Si la requête SQL a trouvé un login correpondant a celui tapé..
if(mysql_num_rows($req)>0){ 

........

0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
6 août 2012 à 16:36
Hum... Je pense que ça serait mieux si tu réfléchissais à tes erreurs... Non ?

On est la pour t'aider par te faire le boulot :)

Donc si tu as des problèmes / erreurs, n'hésites pas ! :D
-4