Aidez moi php formulaire de connexion [Résolu/Fermé]

Signaler
Messages postés
18
Date d'inscription
vendredi 21 août 2009
Statut
Membre
Dernière intervention
2 juillet 2013
-
Messages postés
320
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
22 avril 2014
-
Bonjour,

je veux vous posez une kst ; je veux fair un formulaire de connexion jai construie une basse de donne sappelle membre contien deux champ login et pass le prob k jai vecu ce ke lorsk je met le login et le pass sa marche pas é il maffiche le bienvenu avan de connecté vous pouvez m'aide si vous plait

voici le code

<?php

session_start();

$BDD = mysql_connect("localhost","root",""); // Connexion à la base de données.
mysql_select_db("banque"); // 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 tout 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 users 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 users 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 de compte ou mot de passe incorrect !";

}

}

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

$error = TRUE;

$errorMSG = "Nom de compte ou mot de passe incorrect !";

}

}

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

$error = TRUE;

$errorMSG = "Nom de compte ou mot de passe incorrect !";

}

}

}

mysql_close($BDD);

?>

<? if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])) :?>
<p style="color:green">Bienvenue <strong> <?=$_SESSION["login"] ?></strong></p>
<? endif ?>

<? if($error == TRUE) :?> <p align="center" style="color:red"><strong><?=$errorMSG?></strong></p>
<? endif ?>

<? if($connexionOK == TRUE) :?>
<p align="center" style="color:green"><strong><?=$connexionMSG?></strong></p>
<? endif ?>
<html>

<head>

<title>Création d'un formulaire de connexion en HTML</title>

</head>

<body>

<h2>Connexion au site</h2>

<form action="connexion.php" method="post">

<table>

<tr>

<td><label for="login"><strong>Nom de compte</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>

</body>

</html>

7 réponses

Messages postés
39
Date d'inscription
mercredi 7 janvier 2009
Statut
Membre
Dernière intervention
17 avril 2014

évidemment, je reviens
Messages postés
18
Date d'inscription
vendredi 21 août 2009
Statut
Membre
Dernière intervention
2 juillet 2013

ok
Messages postés
320
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
22 avril 2014
48
salut, il manque une } a la fin du premier script (avant le mysql_close($BDD); ) et je comprend pas pourquoi tu ouvre bien tes balise php au début <?php ?> puis ensuite elles deviennent <? ?>, tu peut corrigé sa aussi je pense.

et sa aussi j'ai pas compris <?=$_SESSION["login"] ?> ce devrait pas être plutot

<?php echo $_SESSION["login"] ;?>

manque echo, y a un = au début et manque ; a la fin ? y a plusieurs fois la même erreur est-ce du au copier coller ou les erreurs sont belle et bien dans ton script ?
Messages postés
18
Date d'inscription
vendredi 21 août 2009
Statut
Membre
Dernière intervention
2 juillet 2013

pr les = klkin me consiel de faire sa lorsk jai essay javé pas de erreur mais ce ke je veux et jessay a le faire mais jarrive pas :s
je veux lorsk je connecte avec le login é le passe de ma base il connecte et il affiche bien venu :s
Messages postés
320
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
22 avril 2014
48
dsl mais je comprend rien a ce que tu dis. =(
Messages postés
320
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
22 avril 2014
48
ah oui autre chose tu dis que ta base de donné tu as une table membre alors que dans tes requêtes SQL tu utilise une table nommé users.
Messages postés
320
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
22 avril 2014
48
s'il te plait peut tu faire un effort la prochaine fois de t'exprimer en français, non seulement il faut décrypté ta question, mais aussi ton problème dans le code merci.
Messages postés
18
Date d'inscription
vendredi 21 août 2009
Statut
Membre
Dernière intervention
2 juillet 2013

ok , j'ai abrégé ( pas vraiment mais bon pas grave je crois ) voila ma que question
je veux faire un formulaire de connexion j'ai construire une base de donne s'appelle membre contient deux champ login et passe le problème que j'ai vécu c'est que lorsque je met le login et le passe de ma base de donnée il ce connecté normale et o même temps il s'affiche un message " exp : bienvenu" vous pouvez m'aide si vous plait si c'est claire
Messages postés
18
Date d'inscription
vendredi 21 août 2009
Statut
Membre
Dernière intervention
2 juillet 2013

ok je suis trompé de la question dsl
je veux faire un formulaire de connexion j'ai construire une base de donne s'appelle membre contient deux champ login et passe le problème que j'ai vécu c'est que lorsque je met le login et le passe de ma base de donnée il ce connecté pas ca c mon probleme que je veux le résoudre et j'arrive pas
Messages postés
18
Date d'inscription
vendredi 21 août 2009
Statut
Membre
Dernière intervention
2 juillet 2013

pour le nom tellement j'ai essayer de le résoudre j'ai crée 4 table de différent nom mais j'arrive pas a ce que je veux si tu peux m'aide je serai contente sinon pas grave
Messages postés
320
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
22 avril 2014
48
commence par corrigé les erreurs dont on vient de faire le tour. les balise php, mettre des echo correctement, la } avant mysql_close($BDD);
et n'oublie pas les ; dans les <?php echo $_SESSION["login"] ;?>

si tu ne trouve pas ton erreur sert toi des éventuel message d'erreur que php te donnera tu peut également les poster sur le topic sa peut aider.

dernière chose utlise des echo sur les varibles pour comprendre ce qu'il se passe par exemple.
print_r ($POST);
ou echo $POST['login'];
echo $POST['pass'];

sa aide énormément pour comprendre comment se comporte les variables tout au long du scrpit, bien entendu il faut mettre les echo au endroits voulu.

faut pas baisser les bras, fais ce que je te dis et continue a poster les éventuelles erreur.