Probleme php
Résolu/Fermé
Olivia
-
18 juin 2015 à 14:23
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 25 juin 2015 à 12:21
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 25 juin 2015 à 12:21
A voir également:
- Probleme php
- Easy php - Télécharger - Divers Web & Internet
- Bouton php - Forum PHP
- Br php ✓ - Forum PHP
- $This php - Forum PHP
- Expert php - Télécharger - Langages
28 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
Modifié par jordane45 le 23/06/2015 à 11:41
Modifié par jordane45 le 23/06/2015 à 11:41
C'est cette partie du code qui pose problème
... vu que tu as commenté le IF (tout en haut..) .. le else n'est plus rattaché à rien.
De plus ...Ceci est totalement faux
Essayes comme ça :
else{ // si on n'a pas trouvé de correspondance (ou s'il y en a plusieurs...) // -> retour sur la page d'identification header('Location:login.php');
... vu que tu as commenté le IF (tout en haut..) .. le else n'est plus rattaché à rien.
De plus ...Ceci est totalement faux
// récupération du post dans des variables : // c'est plus simple à écrire ensuite /$login=print_r($_POST); $pass=print_r($_POST);
Essayes comme ça :
<?php //------------------------------------------------------------------// // DEMARRAGE DES SESSIONS //------------------------------------------------------------------// if(session_id() == '') { session_start(); } //------------------------------------------------------------------// // connexion à la base //------------------------------------------------------------------// try{ $maConnexion = new PDO('mysql:host=localhost;dbname=membres', 'root',''); $maConnexion->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $maConnexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }catch (PDOException $e) { echo "<br>ERREUR de connexion à la BDD !<br> ".$e->getMessage()."<br>"; } //------------------------------------------------------------------// // Récupération "propre" des variables POST ! //------------------------------------------------------------------// $login = !empty($_POST['login']) ? $_POST['login'] : NULL; $pass = !empty($_POST['password']) ? $_POST['password'] : NULL; //------------------------------------------------------------------// if($login && $pass){ // Requete de recherche d'une correspondance login/pass $sql = "SELECT * FROM les_membres WHERE login=:leLogin AND Pass=:lePass "; $requete = $maConnexion->prepare($sql); $requete->bindParam(":leLogin",$login); $requete->bindParam(":lePass",$pass); $requete->execute(); //on stocke le résultat dans un Array $array_Result = $requete->fetchall(); $nbResult = $array_Result ? count($array_Result) : 0; if($nbResult == 1 ){ $id_lien = $array_Result['id_liens']; $droit = $array_Result['droit']; // on stocke en SESSION $_SESSION['id']=$id_lien; $_SESSION['droit']=$droit; if($droit == "admin"){ echo " <br> Le temps des tests : Droit = ADMIN "; //header('Location:script.html') }else{ echo " <br> Le temps des tests : Droit != ADMIN "; // header('Location:login.php'); } }else{ echo "<br> Erreur : Il y a $nbResult resultats !" print_r($array_Result); } }else{ echo "<br> Erreur ! Login ou Password Vide ou inconnu !<br>"; print_r($_POST); }
Nickel, mais il m'affiche un probleme ligne 60:
Voici l'erreur :
Parse error: syntax error, unexpected 'print_r' (T_STRING), expecting ',' or ';' in C:\wamp\www\mon-projet\login.php on line 60
Voici l'erreur :
Parse error: syntax error, unexpected 'print_r' (T_STRING), expecting ',' or ';' in C:\wamp\www\mon-projet\login.php on line 60
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
23 juin 2015 à 13:25
23 juin 2015 à 13:25
Ligne 59 ... il manque un point-virgule au bout de la ligne.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
23 juin 2015 à 14:13
23 juin 2015 à 14:13
... tu peux nous faire voir ton formulaire html ?
car là .. visiblement... tu n'envoies pas les données .......
PS: Merci d'utiliser le bouton REPONDRE plutôt que de mettre tes "réponses" dans les zones de commentaire... ça sera plus simple pour suivre la conversation !
car là .. visiblement... tu n'envoies pas les données .......
PS: Merci d'utiliser le bouton REPONDRE plutôt que de mettre tes "réponses" dans les zones de commentaire... ça sera plus simple pour suivre la conversation !
tiens voici ma page login.php :
<?php //------------------------------------------------------------------// // DEMARRAGE DES SESSIONS //------------------------------------------------------------------// if(session_id() == '') { session_start(); } //------------------------------------------------------------------// // connexion à la base //------------------------------------------------------------------// try{ $maConnexion = new PDO('mysql:host=localhost;dbname=membres', 'root',''); $maConnexion->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $maConnexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }catch (PDOException $e) { echo "<br>ERREUR de connexion à la BDD !<br> ".$e->getMessage()."<br>"; } //------------------------------------------------------------------// // Récupération "propre" des variables POST ! //------------------------------------------------------------------// $login = !empty($_POST['login']) ? $_POST['login'] : NULL; $pass = !empty($_POST['password']) ? $_POST['password'] : NULL; //------------------------------------------------------------------// if($login && $pass){ // Requete de recherche d'une correspondance login/pass $sql = "SELECT * FROM les_membres WHERE login=:leLogin AND Pass=:lePass "; $requete = $maConnexion->prepare($sql); $requete->bindParam(":leLogin",$login); $requete->bindParam(":lePass",$pass); $requete->execute(); //on stocke le résultat dans un Array $array_Result = $requete->fetchall(); $nbResult = $array_Result ? count($array_Result) : 0; if($nbResult == 1 ){ $id_lien = $array_Result['id_liens']; $droit = $array_Result['droit']; // on stocke en SESSION $_SESSION['id']=$id_lien; $_SESSION['droit']=$droit; if($droit == "admin"){ echo " <br> Le temps des tests : Droit = ADMIN "; //header('Location:script.html') }else{ echo " <br> Le temps des tests : Droit != ADMIN "; // header('Location:login.php'); } }else{ echo "<br> Erreur : Il y a $nbResult resultats !"; print_r($array_Result); } }else{ echo "<br> Erreur ! Login ou Password Vide ou inconnu !<br>"; print_r($_POST); }
Et tiens voici ma page formulaire.php
<?php // session pour stocker l'ID session_start(); // connexion à la base $maConnexion = new PDO('mysql:host=localhost;dbname=membres', 'root',''); $maConnexion->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $maConnexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // récupération du post dans des variables : // c'est plus simple à écrire ensuite $login=print_r($_POST); $pass=print_r($_POST); // Requete de recherche d'une correspondance login/pass $sql = "SELECT * FROM les_membres WHERE login=:leLogin AND Pass=:lePass "; $requete = $maConnexion->prepare($sql); $requete->bindParam(":leLogin",$login); $requete->bindParam(":lePass",$pass); $requete->execute(); if (count($resultat)==1) { // une seule ligne, et $resultat est un tableau : // on récupère donc la ligne dans $resultat[0] $ligne = $resultat[0]; // on stocke dans la session quelques informations qui nous intéressent : // - l'identifiant, qui permettra de contrôler l'accès aux pages privées // - le nom, les droits, etc : on pourrait les retrouver par une requête // à partir de l'identifiant, mais c'est plus rapide de les conserver $_SESSION['id']=$ligne['id_liens']; $_SESSION['droit']=$ligne['droit']; // on choisit la page à charger ensuite : // - profil pour un visiteur // - administration pour un admin //if ($ligne['droit']=='admin') { header('Location:script.php'); //}else{ header('Location:login.php'); } //}else{ // si on n'a pas trouvé de correspondance (ou s'il y en a plusieurs...) // -> retour sur la page d'identification header('Location:login.php'); //} // fichier "pur php" : c'est une bonne pratique de ne pas fermer la balise />
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
23 juin 2015 à 15:57
23 juin 2015 à 15:57
Pourquoi n'utilises tu pas le code que je t'ai donné ???????
J'ai utiliser le code que tu m'as donné mais pour ma page login.php .
Il faut d'abord que un formulaire s'affiche pour que je puisse me connecter non ?
Il faut d'abord que un formulaire s'affiche pour que je puisse me connecter non ?
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
24 juin 2015 à 10:26
24 juin 2015 à 10:26
Par contre ... je voudrais le code de ton FORMULAIRE HTML !
Tu sais... le truc qui contient les INPUT dans lesquels l'utilisateur doit saisir ses identifiants !!!!!
Tu sais... le truc qui contient les INPUT dans lesquels l'utilisateur doit saisir ses identifiants !!!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et j'aimerai aussi savoir ou es-ce que je definis mon mdp et mon login pour que je puisse me connecter a mon formulaire ?
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
24 juin 2015 à 10:32
24 juin 2015 à 10:32
....... houla... Je vois que tu débutes complètement ......
Reprenons :
1 - Tu as un formulaire HTML avec des INPUT pour que l'utilisateur puisse saisir ses identifiants
2 - Tu as un script PHP qui valide les informations saisies ....
=> Pour ce qui est du login/mdp .... tu peux le stocker en BDD ... ou .. si tu n'en as qu'un seul .. le mettre directement dans ton script PHP.
3 - ... tes autres pages ... accessibles une fois que l'utilisateur est connecté.
Je t'invite à lire ceci :
https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples
Et ceci :
https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees
Reprenons :
1 - Tu as un formulaire HTML avec des INPUT pour que l'utilisateur puisse saisir ses identifiants
2 - Tu as un script PHP qui valide les informations saisies ....
=> Pour ce qui est du login/mdp .... tu peux le stocker en BDD ... ou .. si tu n'en as qu'un seul .. le mettre directement dans ton script PHP.
3 - ... tes autres pages ... accessibles une fois que l'utilisateur est connecté.
Je t'invite à lire ceci :
https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples
Et ceci :
https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees
___Olivia.
>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
24 juin 2015 à 11:23
24 juin 2015 à 11:23
Oui voila je debute,
Voici mon formulaire HTML avec des INPUT pour que l'utilisateur puisse saisir ses identifiants:
Voici mon formulaire HTML avec des INPUT pour que l'utilisateur puisse saisir ses identifiants:
<form method="post" action=""> <legend>S'inscrire sur le site</legend> <div class="form-group"> <label class="col-lg-2 control-label">Login</label> <div class="col-lg-10"> <input type="text" class="form-control" name="login" placeholder="Login"> </div> </div><br/><br/><br/> <div class="form-group"> <label class="col-lg-2 control-label">Mot de passe</label> <div class="col-lg-10"> <input type="password" class="form-control" name="password" placeholder="Mot de passe"> </div> </div> <br/><br/><center><button type="submit" name="submit" class="btn btn-primary">S'Inscrire</button></center> </form>
Voici le script PHP qui valide mes informations saisies :
<?php // on se connecte à MySQL $db = mysql_connect('localhost', 'login', 'password'); mysql_select_db('nomdelabase',$db); if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) { $_POST['password'] = hash("sha256", $_POST['password']); extract($_POST); // on recupére le password de la table qui correspond au login du visiteur $sql = "select password from membre where login='".$login."'"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_assoc($req); if($data['password'] != $password) { echo '<div class="alert alert-dismissable alert-danger"> <button type="button" class="close" data-dismiss="alert">x</button> <strong>Oh Non !</strong> Mauvais login / password. Merci de recommencer ! </div>'; } else { session_start(); $_SESSION['login'] = $login; echo '<div class="alert alert-dismissable alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>Yes !</strong> Vous etes bien logué, Redirection dans 5 secondes ! <meta http-equiv="refresh" content="5; URL=dashboard"> </div>'; // ici vous pouvez afficher un lien pour renvoyer // vers la page d'accueil de votre espace membres } } else { $champs = '<p><b>(Remplissez tous les champs pour vous connectez !)</b></p>'; } ?>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
24 juin 2015 à 11:46
24 juin 2015 à 11:46
Tout d'abord ... il faut sortir la connexion à ta BDD de ton script en le plaçant dans une page à part qu'il te suffira d'inclure lorsque tu en auras besoin :
et Voici le code COMPLET de ta page login.php
NB : Le temps des tests.. les redirections sont désactivées ...et du debug a été ajouté.
Si le résultat te semble correct tu pourras remettres les redirections et retirer les debug.
<?php //-------------------------------------------------------------------// // Fichier de connexion à la BDD // qu'il suffit d'inclure dans tes pages ... //-------------------------------------------------------------------// try{ $bdd = new PDO('mysql:host=localhost;dbname=membres', 'root',''); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }catch (PDOException $e) { echo "<br>ERREUR de connexion à la BDD !<br> ".$e->getMessage()."<br>"; }
et Voici le code COMPLET de ta page login.php
<?php /* ----------------------------------------------------------------*/ // ==>> PAGE LOGIN.PHP <<== // => Comprenant : Le formulaire HTML + Le traitement en PHP /* ----------------------------------------------------------------*/ ?> <?php //------------------------------------------------------------------// // DEMARRAGE DES SESSIONS //------------------------------------------------------------------// if(session_id() == '') { session_start(); } // Connexion à la BDD ( on fait un INCLUDE du fichier cnxBDD.php require_once("cnxBDD.php"); //**************************************** // ---- Traitement du SUBMIT ---- //**************************************** //------------------------------------------------------------------// // Récupération "propre" des variables POST ! //------------------------------------------------------------------// $login = !empty($_POST['login']) ? $_POST['login'] : NULL; $pass = !empty($_POST['password']) ? $_POST['password'] : NULL; if($login && $pass){ // Requete de recherche d'une correspondance login/pass $sql = "SELECT * FROM les_membres WHERE login=:leLogin AND Pass=:lePass "; $requete = $bdd->prepare($sql); $requete->bindParam(":leLogin",$login); $requete->bindParam(":lePass",$pass); $requete->execute(); //on stocke le résultat dans un Array $array_Result = $requete->fetchall(); $nbResult = $array_Result ? count($array_Result) : 0; if($nbResult == 1 ){ $id_lien = $array_Result['id_liens']; $droit = $array_Result['droit']; // on stocke en SESSION $_SESSION['id']=$id_lien; $_SESSION['droit']=$droit; if($droit == "admin"){ echo " <br> Le temps des tests : Droit = ADMIN "; //header('Location:script.html') }else{ echo " <br> Le temps des tests : Droit != ADMIN "; // header('Location:login.php'); } // Le temps des tests : print_r($array_Result); }else{ $error[] = "<br>Erreur ! Il y a $nbResult résultats"; } }else{ $error[] = "<br>Merci de remplir les champs Login et Password."; } ?> <!-- Formulaire HTML --> <form method="post" action=""> <legend>S'inscrire sur le site</legend> <div class="form-group"> <label class="col-lg-2 control-label">Login</label> <div class="col-lg-10"> <input type="text" class="form-control" name="login" placeholder="Login"> </div> </div><br/><br/><br/> <div class="form-group"> <label class="col-lg-2 control-label">Mot de passe</label> <div class="col-lg-10"> <input type="password" class="form-control" name="password" placeholder="Mot de passe"> </div> </div> <br/><br/><center><button type="submit" name="submit" class="btn btn-primary">S'Inscrire</button></center> <?php if(count($error)>0){ foreach($error as $Err){ echo "<div class='alert alert-danger' role='alert'>".$Err."</div>"; } }?> </form>
NB : Le temps des tests.. les redirections sont désactivées ...et du debug a été ajouté.
Si le résultat te semble correct tu pourras remettres les redirections et retirer les debug.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
>
___Olivia.
Modifié par jordane45 le 24/06/2015 à 12:02
Modifié par jordane45 le 24/06/2015 à 12:02
Tu dis ... j'ai un probleme ......
==>>> mais tu ne nous dis pas LEQUEL ........!!!!!
Bon ... pour ce cas là .. c'est facile ... c'est juste un point-virguls Manquant ....à la ligne 52
Mais à l'avenir .. merci de nous donner le MESSAGE D'ERREUR COMPLET !!!!
==>>> mais tu ne nous dis pas LEQUEL ........!!!!!
Bon ... pour ce cas là .. c'est facile ... c'est juste un point-virguls Manquant ....à la ligne 52
header('Location:script.html');
Mais à l'avenir .. merci de nous donner le MESSAGE D'ERREUR COMPLET !!!!
___Olivia.
>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
24 juin 2015 à 13:49
24 juin 2015 à 13:49
D'accord désole.
Maintenant quand je me connecte avec mes identifiants il me dise: "Erreur ! Il y a 0 résultats"
Alors que j'ai bien preciser mon mdp et mon login dans la page login.php
Maintenant quand je me connecte avec mes identifiants il me dise: "Erreur ! Il y a 0 résultats"
Alors que j'ai bien preciser mon mdp et mon login dans la page login.php
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
24 juin 2015 à 14:39
24 juin 2015 à 14:39
... et ..... tu as quelque-chose dans ta BDD ??
___Olivia.
>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
24 juin 2015 à 14:55
24 juin 2015 à 14:55
quelque-chose?
Tu veux dire si j'ai bien definit mon mdp et mon login dans ma BDD?
parceque j'ai créer une table membres qui contient un login, un pass et l'id. Donc je vois pas le probleme
Tu veux dire si j'ai bien definit mon mdp et mon login dans ma BDD?
parceque j'ai créer une table membres qui contient un login, un pass et l'id. Donc je vois pas le probleme
Oui elle porte bien le meme nom que ce qui est indiqué dans ma requête.
Voici ce que comporte ma table les_membres :
Voici ce que comporte ma table les_membres :
-- phpMyAdmin SQL Dump -- version 4.1.14 -- http://www.phpmyadmin.net -- -- Client : 127.0.0.1 -- Généré le : Mer 24 Juin 2015 à 15:22 -- Version du serveur : 5.6.17 -- Version de PHP : 5.5.12 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Base de données : `membres` -- -- -------------------------------------------------------- -- -- Structure de la table `les_membres` -- CREATE TABLE IF NOT EXISTS `les_membres` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `login` varchar(100) NOT NULL, `pass` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `date_enregistrement` datetime NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `login` (`login`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
24 juin 2015 à 15:33
24 juin 2015 à 15:33
Ok très bien.
Donc.. dans le code que je t'ai donné ...
Commente les REDIRECTIONS ( le temps qu'on fasse les tests )
puis
1 - Modifie la requête pour écrire le nom des champs EXACTEMENT de la même manière que ceux de ta table.
(à savoir ... pass avec un "p" minuscule et non majuscule....)
En gros:
2- ajoutes en dessous de la ligne
Les lignes de code suivantes :
Histoire de voir ce que ça nous retourne.
Donc.. dans le code que je t'ai donné ...
Commente les REDIRECTIONS ( le temps qu'on fasse les tests )
puis
1 - Modifie la requête pour écrire le nom des champs EXACTEMENT de la même manière que ceux de ta table.
(à savoir ... pass avec un "p" minuscule et non majuscule....)
En gros:
$sql = "SELECT * FROM les_membres WHERE login=:leLogin AND pass=:lePass ";
2- ajoutes en dessous de la ligne
$array_Result = $requete->fetchall();
Les lignes de code suivantes :
echo "<br> Login : ".$login; echo "<br> Password : ".$pass; print_r( $array_Result );
Histoire de voir ce que ça nous retourne.
___Olivia.
>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
24 juin 2015 à 15:47
24 juin 2015 à 15:47
Login : Frenet
Password : oliviaArray ( )
S'identifier
Login
Mot de passe
Erreur ! Il y a 0 résultats
Password : oliviaArray ( )
S'identifier
Login
Mot de passe
Erreur ! Il y a 0 résultats
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
>
___Olivia.
24 juin 2015 à 16:13
24 juin 2015 à 16:13
Tu peux tester ta requête en direct dans phpmyadmin ?
et me dire ce que ça te retourne ?
SELECT * FROM les_membres WHERE login='Frenet' AND pass='Password'
et me dire ce que ça te retourne ?
___Olivia.
>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
Modifié par ___Olivia. le 24/06/2015 à 16:16
Modifié par ___Olivia. le 24/06/2015 à 16:16
MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0000 sec)
Voila ce que ça retourne.
Voila ce que ça retourne.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
Modifié par jordane45 le 25/06/2015 à 10:46
Modifié par jordane45 le 25/06/2015 à 10:46
Ok.
Donc essayes ce code et dis moi ce qui s'affiche sur ton écran :
Cordialement,
Jordane
Donc essayes ce code et dis moi ce qui s'affiche sur ton écran :
<?php /* ----------------------------------------------------------------*/ // ==>> PAGE LOGIN.PHP <<== // => Comprenant : Le formulaire HTML + Le traitement en PHP /* ----------------------------------------------------------------*/ //------------------------------------------------------------------// // DEMARRAGE DES SESSIONS //------------------------------------------------------------------// if(session_id() == '') { session_start(); } // Connexion à la BDD ( on fait un INCLUDE du fichier cnxBDD.php require_once("cnxBDD.php"); //**************************************** // ---- Traitement du SUBMIT ---- //**************************************** //------------------------------------------------------------------// // Récupération "propre" des variables POST ! //------------------------------------------------------------------// $login = !empty($_POST['login']) ? $_POST['login'] : NULL; $pass = !empty($_POST['password']) ? $_POST['password'] : NULL; if($login && $pass){ // Requete de recherche d'une correspondance login/pass $sql = "SELECT * FROM les_membres WHERE login=:leLogin AND pass=:lePass "; $params = array(":leLogin"=>$login,":lePass"=>$pass); try{ $requete = $bdd->prepare($sql); $requete->execute(); //on stocke le résultat dans un Array $array_Result = $requete->fetchall(); //le temps des tests: echo "<br> Résultat de la requête :<br>"; print_r($array_Result); }catch(Exception $e) { // en cas de PB dans la requete echo "<br><b>ERREUR !</b> ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } $nbResult = $array_Result ? count($array_Result) : 0; if($nbResult == 1 ){ $id_lien = $array_Result[0]['id_liens']; $droit = $array_Result[0]['droit']; // on stocke en SESSION $_SESSION['id']=$id_lien; $_SESSION['droit']=$droit; if($droit == "admin"){ echo " <br> Le temps des tests : Droit = ADMIN "; //header('Location:script.html') }else{ echo " <br> Le temps des tests : Droit != ADMIN "; // header('Location:login.php'); } }else{ $error[] = "<br>Erreur ! Il y a $nbResult résultats"; } }else{ $error[] = "<br>Merci de remplir les champs Login et Password."; //le temps des tests: echo "<br> Variables POST :<br>"; print_r($_POST); } ?> <!-- Formulaire HTML --> <form method="post" action=""> <legend>S'inscrire sur le site</legend> <div class="form-group"> <label class="col-lg-2 control-label">Login</label> <div class="col-lg-10"> <input type="text" class="form-control" name="login" placeholder="Login"> </div> </div><br/><br/><br/> <div class="form-group"> <label class="col-lg-2 control-label">Mot de passe</label> <div class="col-lg-10"> <input type="password" class="form-control" name="password" placeholder="Mot de passe"> </div> </div> <br/><br/><center><button type="submit" name="submit" class="btn btn-primary">S'Inscrire</button></center> <?php if(count($error)>0){ foreach($error as $Err){ echo "<div class='alert alert-danger' role='alert'>".$Err."</div>"; } }?> </form>
Cordialement,
Jordane
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
25 juin 2015 à 12:21
25 juin 2015 à 12:21
Non mais tout marche enfet c'est nikel. :)
Donc ... question résolue.
t j'aimerai que plusieurs personne puisse ce connecter et que quand il rentre leur login et leur mdp il n'est pas accées a la meme page.
Ceci est une nouvelle question .... et donc.. doit être posée dans une nouvelle discussion sur le forum.
Cela permet de faciliter la lecture des sujets et leurs éventuelles recherches par des internautes qui rencontreraient les mêmes difficultés que toi.
Donc ....Si la question initiale de cette discussion est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)
Cordialement,
Jordane