IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Connexion a une base données


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Connexion a une base données
    Envoyé depuis Courrier Windows
    Voila nous sommes en groupe et nous devons faire un site avec une base donnée, j’arrive me connecté a celle ci mais lorsque je veut me connecter au site cela ne marche pas. Je pense que c’est une erreur du au $_POST[’login’] mais je n’en suis pas sur pouvez vous m’aide s’il plait! Merci d’avance. Ci joint le code pour que vous pouvez regardez et modifié ci besoin 😊

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?php
    function Affichage (){
    	echo '
    	<form action="conexion.php" method="post">
    	<fieldset>
    		<legend>Connexion</legend>
    		<p>
    			<label for="login">Login :</label><input name="login" type="text" id="login" /><br />
    			<label for="mdp">Mot de Passe :</label><input type="password" name="mdp" id="Mot de passe" />
    		</p>
    	</fieldset>
    	<p><input type="submit" value="Connexion" /></p></form>
    	<a href="formulaire.php">Pas encore inscrit ?<a/>
    	';
    }
    if (!isset($_POST['login'])){
    	Affichage ();
    }
    else{
    	if(empty($_POST['login']) || empty($_POST['mdp'])){ // Teste si le champ login et mdp on était saisis
    		affichage(); // Appel la fonction Affichage qui permet d'afficher la "conexion"
    		echo "<br />"; // Saut de ligne
    		echo ' Vous devez renseigner tout les champs.'; // Affiche ceci
    	}
    	else{
    		$bdd = new PDO('mysql:host=localhost;dbname=ecommerce', 'root', '');
    		 echo "<p><em style=\"color: red; border: 1px dotted black; font-size: 12px;margin-left: 15px;\">Connecté à la BDD</em> <br /></p>";
    		$res=$bdd->query('SELECT pseudo, mdp FROM client');
    		if (!isset($res[$_POST['login']])){ // si il existe le nom d'utilisateur stocker dans la variable login dans $tab ( Tableau )
    			Affichage(); // Appel la fonction Affichage .....
    			echo'Votre login n\'existe pas'; // Affiche ....
    		}
    		else{
    			if(!isset($res[$_POST['mdp']])) //if ((($_POST['mdp'])) == $res['mdp']){ // Compare le mot de passe saisi ( mdp ) crypté ( d'ou le md5 )
    				Affichage(); // Appel la fonction Affichage .....
    				echo'Votre Mot de passe est incorrect'; // Affiche ....
    			}
    			else{
    				session_start ();  // demarage de la session
    				setcookie('cookie_login', $_POST['login'] , (time() + 333333)); // creation du cookie "cookie_login qui prend comme valeur le login avec un temps d'expiration de 333333
    				header('Location: accueil.php'); // renvoie vers la page acceuil
    			}
    		}
    		pg_close($bdd);
    	}
    }
    ?>

  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    C'est normal le

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="conexion.php" method="post">

    conexion.php ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $res=$bdd->query('SELECT pseudo, mdp FROM client');
    if (!isset($res[$_POST['login']])){ // si il existe le nom d'utilisateur stocker dans la variable login dans $tab ( Tableau )
    	Affichage(); // Appel la fonction Affichage .....
    	echo'Votre login n\'existe pas'; // Affiche ....
    }
    Cette requête ne te renverra jamais ce que tu souhaites.

    Remplace par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $stmt = $bdd->prepare('SELECT pseudo,mdp FROM clien WHERE pseudo = ? AND mdp = ?');
    $res=$stmt->execute(array($_POST['pseudo'],$_POST['mdp']));
    if (!$res->fetch()){ // si il existe le nom d'utilisateur stocker dans la variable login dans $tab ( Tableau )
    	Affichage(); // Appel la fonction Affichage .....
    	echo 'Login ou mdp incorrect';
    }
    Tu remarqueras au passage l'utilisation des requêtes préparées pour éviter les tentatives de hackage de ton serveur par SQL Injection.

    Et dernière chose "pg_close($bdd);" n'a absolument rien à faire là. Soit tu le supprimes, soit tu veux être sûr de la fermeture à la bdd de données en écrivant "$bdd = null;"
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Je vous remercie d'avoir répondu à ma question, mais elle produit des erreurs comme :
    Notice: Undefined index: pseudo in C:\wamp\www\DaussyGCLargillereGC\pages\Conexion.php on line 45
    et
    Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\DaussyGCLargillereGC\pages\Conexion.php on line 46
    Cordialement.

Discussions similaires

  1. probleme de connexion d'une base donnée dans oracle 9i
    Par ra'uf dans le forum Connexions aux bases de données
    Réponses: 5
    Dernier message: 24/05/2009, 13h23
  2. Connexion sur une base de données Postgre
    Par ktox dans le forum C++Builder
    Réponses: 3
    Dernier message: 04/08/2005, 10h58
  3. [DataBase]Connexion a une base de données.
    Par GETah dans le forum JDBC
    Réponses: 3
    Dernier message: 19/04/2005, 17h47
  4. connexion a une base de donné mysql
    Par ithery75 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/02/2005, 20h57
  5. connexion a une base de donnée distante mysql(site internet)
    Par rollernox dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/07/2004, 13h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo