Rendre login.php retourne la résultat correct
Fermé
arfah
Messages postés
23
Date d'inscription
mercredi 23 mars 2011
Statut
Membre
Dernière intervention
29 mars 2011
-
23 mars 2011 à 20:45
arfah Messages postés 23 Date d'inscription mercredi 23 mars 2011 Statut Membre Dernière intervention 29 mars 2011 - 25 mars 2011 à 17:39
arfah Messages postés 23 Date d'inscription mercredi 23 mars 2011 Statut Membre Dernière intervention 29 mars 2011 - 25 mars 2011 à 17:39
A voir également:
- Rendre login.php retourne la résultat correct
- Ecran retourne - Guide
- Lexer resultat - Télécharger - Sport
- Rendre un fichier moins volumineux - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Resultat loto 5/90 - Forum Excel
2 réponses
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 24/03/2011 à 13:55
Modifié par JooS le 24/03/2011 à 13:55
Salut ... :S
1 - On se connecte via PDO.
2 - On vérifie que les champs on bien été rempli ...
3 - On prepare la requete. (plus sécurisé qu'une resquete directe).
4 - On execute la requete.
5 - On recupere les infos.
6 - On crypte le mot de passe entré par l'utilisateur, et On vérifie qu'on a bel et bien un résultat(mot de passe), puis on compare ces deux derniers.
- Dans le cas ou on a pas de résultat, c'est que l'utilisateur n'est pas encore inscrit, alors on le redirige vers la page nouveaumembre.html .
- Dans le cas ou les mots de passe sont égaux, alors on crée une session.
7 - Quant au passoublie.html, je vois pas l'intérêt d'inclure la page, tu dois juste afficher un lien a l'utilisateur pour que si il a oublier son mot de passe, alors il clique sur ce dernier pour le récupérer, en lui réaffichant aussi le formulaire pour qu'il ressaye d'entrer le mot de passe.
Bonne chance ...
try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=ta_bdd', 'root', '', $pdo_options); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } if(isset($_POST) && !empty($_POST['login']) && !empty ($_POST['pass'])) { $webUser = htmlentities($_POST['pseudo']); $resultat = $bdd->prepare('SELECT mot_passe FROM ins WHERE login = ?'); $resultat->execute(array($webUser)); $data = $resultat->fetch(); $mdp = md5(htmlentities($_POST['pass'])); if(isset($data['mot_passe']) AND $mdp == $data['mot_passe']) { session_start(); $_SESSION['login'] = $webUser; include('CSFT.html'); //je vois pas l'intérêt ...!!! } else { echo 'Mot de passe oublié ?! <a href="passoublie.html">Cliquez ici</a><br />'; ?> <form method="post" action="page_courante.php"> <p><input type="text" name="login" /></p> <p><input type="password" name="pass" /></p> <p><input type="submit" value="Envoyer" /></p> </form> <?php } } else header("Location: " . $_SERVER['HTTP_HOST'].'/nouveaumembre.html'); ?>
1 - On se connecte via PDO.
2 - On vérifie que les champs on bien été rempli ...
3 - On prepare la requete. (plus sécurisé qu'une resquete directe).
4 - On execute la requete.
5 - On recupere les infos.
6 - On crypte le mot de passe entré par l'utilisateur, et On vérifie qu'on a bel et bien un résultat(mot de passe), puis on compare ces deux derniers.
- Dans le cas ou on a pas de résultat, c'est que l'utilisateur n'est pas encore inscrit, alors on le redirige vers la page nouveaumembre.html .
- Dans le cas ou les mots de passe sont égaux, alors on crée une session.
7 - Quant au passoublie.html, je vois pas l'intérêt d'inclure la page, tu dois juste afficher un lien a l'utilisateur pour que si il a oublier son mot de passe, alors il clique sur ce dernier pour le récupérer, en lui réaffichant aussi le formulaire pour qu'il ressaye d'entrer le mot de passe.
Bonne chance ...
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 24/03/2011 à 18:34
Modifié par JooS le 24/03/2011 à 18:34
Ok, alors pour resumer ...
La structure de ta table ...
Nom de la table : ins
Champs nécessaires : login, mot_passe
Formulaire :
Méthode de l'envoi du formulaire : post
Nom de l'input n°1 : login
Nom de l'input n°2 : pass
Note :
Ton code était tros embrouillé, c'est pour ça que je t'incite a utiliser celui la, il est plus claire, mieux structuré, et plus performant ...
La structure de ta table ...
Nom de la table : ins
Champs nécessaires : login, mot_passe
Formulaire :
Méthode de l'envoi du formulaire : post
Nom de l'input n°1 : login
Nom de l'input n°2 : pass
if(isset($_POST['login']) AND isset($_POST['pass'])) { // Début du premier if $webUser = htmlentities($_POST['login']); $mdp = htmlentities($_POST['pass']); try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options); // Connexion a la base de données } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); //On recupere les erreurs } $resultat = $bdd->prepare('SELECT mot_passe FROM ins WHERE login = ?'); // On prepare la requete $resultat->execute(array($webUser)); // On execute la requete $data = $resultat->fetch(); // On recupere les resultats $mdp = md5($mdp); if(isset($data['mot_passe']) AND $mdp == $data['mot_passe']) { // Si le mot de passe existe et est egale au mot de passe entré par l'utilisateur session_start(); $_SESSION['login'] = $webUser; include('CSFT.html'); //je vois toujours pas l'intérêt ...!!! } else { // Debut du else ----------------------- echo 'Mot de passe oublié ?! <a href="passoublie.html">Cliquez ici</a><br />'; ?> <form method="post" action="page_courante.php"> <p><input type="text" name="login" /></p> <p><input type="password" name="pass" /></p> <p><input type="submit" value="Envoyer" /></p> </form> <?php } // Fin du else --------------------- } // Fin du premier Else else header("Location: nouveaumembre.html");
Note :
Ton code était tros embrouillé, c'est pour ça que je t'incite a utiliser celui la, il est plus claire, mieux structuré, et plus performant ...
arfah
Messages postés
23
Date d'inscription
mercredi 23 mars 2011
Statut
Membre
Dernière intervention
29 mars 2011
24 mars 2011 à 15:09
24 mars 2011 à 15:09
bonjour,
merci beaucoup de votre explication et pour votre aide .
Mais , easyphp affiche l'erreur de la ligne de cette instruction:
la ligne 6 qui commence par : try { ......... ET erreur est :
Parse error: parse error, unexpected '{' in c:\program files\easyphp\www\projet3\conn.php on line 6
je pense qui il est impossible d'enlever '{'
s'il vous plais, comment éviter çà ?
merci beaucoup
merci beaucoup de votre explication et pour votre aide .
Mais , easyphp affiche l'erreur de la ligne de cette instruction:
la ligne 6 qui commence par : try { ......... ET erreur est :
Parse error: parse error, unexpected '{' in c:\program files\easyphp\www\projet3\conn.php on line 6
je pense qui il est impossible d'enlever '{'
s'il vous plais, comment éviter çà ?
merci beaucoup
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 24/03/2011 à 15:53
Modifié par JooS le 24/03/2011 à 15:53
Quelle version de easyPHP tu as??
arfah
Messages postés
23
Date d'inscription
mercredi 23 mars 2011
Statut
Membre
Dernière intervention
29 mars 2011
24 mars 2011 à 17:13
24 mars 2011 à 17:13
bonjour,
phpMyAdmin 2.2.6
phpMyAdmin 2.2.6
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 24/03/2011 à 18:17
Modifié par JooS le 24/03/2011 à 18:17
c'est la version de php que tu devrais renseigner ??!!
mais bref, mets le a jour ...
https://www.easyphp.org/
mais bref, mets le a jour ...
https://www.easyphp.org/
arfah
Messages postés
23
Date d'inscription
mercredi 23 mars 2011
Statut
Membre
Dernière intervention
29 mars 2011
24 mars 2011 à 18:32
24 mars 2011 à 18:32
Pardons, mais je n'ai pas compris ce que te me die
S'il vous explique moi mieux, Q'est ce que je peut faire pour finit mon problème ?
merci
S'il vous explique moi mieux, Q'est ce que je peut faire pour finit mon problème ?
merci
24 mars 2011 à 13:05
Merci beaucoup votre aide .
J'utilise votre code mais j'ai modifie parque il y a des instructions difficiles . Mais, j'ai le même problème :
je tape login et mot de passe correcte , il affiche que votre mot de passe est incorrecte
Aussi , je teste si les deux n'existent pas dans BD, normalement, il retourne nouveau membre . Mais , il affiche que votre mot de passe est incorrecte.
N.B. les champs de table inscription nome ins : nom,prenom, email,login,mot_passe,confirmer_mot_passe
les champs de identification: login , pass
le code :
<?php
mysql_connect("127.0.0.1","root","");
mysql_select_db("internaute");
if(isset($_POST) && !empty($_POST['login']) && !empty ($_POST['pass']))
{
$webUser = htmlentities($_POST['login']);
$resultat = "SELECT mot_passe FROM ins WHERE login='".$webUser."'" ;
$req = mysql_query($resultat) or die('Erreur SQL !<br>'.$resultat.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
$mdp = md5(htmlentities($_POST['pass']));
if(isset($data['mot_passe']) AND $mdp == $data['mot_passe'])
{
session_start();
$_SESSION['login'] = $webUser;
include('CSFT.html');
}
else
{
include('mot_passeoub.html');
}
}
else
include('nouveaumembre1.html');
?>
S'il vous plais, je te donne le code de login.php et die moi quel est erreur de ce code pour retourne le résultat correcte?
24 mars 2011 à 13:43
24 mars 2011 à 13:51
je te die que le code que je te donne ne fonctionne pas
Donc , s'il vous aide moi de trouver une solution de ce code pour qu'il fonctionne
merci