[php-mysql] espace sécurisé, password
Résolu
sim
-
sim -
sim -
Bonjour, voila j'ai une probléme de connexion à ma bdd mysql (je pense).
La connexion ne se fait que pour la premiére ligne de la table, et ça ne marche pas pour les autres.
Voici le code :
Merci de votre aide!
La connexion ne se fait que pour la premiére ligne de la table, et ça ne marche pas pour les autres.
Voici le code :
<?php session_start(); // initialisation de la variable session echo('<?xml version="1.0" encoding="iso-8859-1"?>'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Zspace membres</title> <meta http-equiv="Content-Type" content="text/html ; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="styles/design.css" /> </head> <body> <?php include('menu.php'); ?> <div id="content"> <?php if ((isset($_POST["password"])) AND (isset($_POST["email"] ))) //on teste si les variables existent { $password == $_POST['password'] ; //la variable mdp prds la valeur de ce qui a été tapé $email == $_POST['email'] ; //la variable pseudo prds la valeur de ce qui a été tapé } else //sinon { $mot_de_passe = "" ; //la variable prds la valeur vide $email = ""; //la variable prds la valeur vide } mysql_connect("db1dfdsd1.fr", "dbosdf7375794", "0sdfsv44"); // Connexion à MySQL mysql_select_db("db22sdfg94"); // Sélection de la base // On est connectés, on peut travailler sur la BDD $reponse = mysql_query("SELECT * FROM membres ") or die(mysql_error()); //TOUT les membres // On fait une boucle pour lister tout ce que contient la table : while ($membres = mysql_fetch_array($reponse) ) //créé un tableau ordonné avec TOUT les membres, { if ( ($password == $membres['password']) AND ($email == $membres['email'])) { echo('ca marche'); $_SESSION['email'] = $email; //pseudo correct donc on garde le pseudo dans la var session $_SESSION['password'] = $password; //mot de passe correct donc on garde le pass dans la var session include("copyright.php") ; exit(); //il faut arrêter la boucle ! sinon ca va se répéter } else { echo('denied'); include("copyright.php") ; exit(); //il faut arrêter la boucle ! sinon ca va se répéter } } // On a fini de travailler, on ferme la connexion : mysql_close(); // Déconnexion de MySQL ?> </div> <!-- fin de content !--> </body> </html>
Merci de votre aide!
A voir également:
- [php-mysql] espace sécurisé, password
- Espace insécable - Guide
- Mode sécurisé samsung - Guide
- Espace de stockage gmail plein - Guide
- Espace stockage google - Guide
- Mysql community server - Télécharger - Bases de données
2 réponses
moi j'utilise cette technique et c'est bien écrit je trouve...
Ne pas faire un if else ici dans ta boucle While avec des exit();, car ta recherche s'arrêtera à la première requête. La commande exit(); arrête tout le code et le code suivant ne sera pas pris en compte.
Je tiens à préciser que les données de la base de donnée sont lu comme un tableau dans PHP. Ligne 1, ligne 2, ligne 3.... Une par une. Lorsqu'il ne trouvera plus de ligne qui ressemble à ta requête SQL, il sortira par lui-même du while.
Ne pas faire un if else ici dans ta boucle While avec des exit();, car ta recherche s'arrêtera à la première requête. La commande exit(); arrête tout le code et le code suivant ne sera pas pris en compte.
Je tiens à préciser que les données de la base de donnée sont lu comme un tableau dans PHP. Ligne 1, ligne 2, ligne 3.... Une par une. Lorsqu'il ne trouvera plus de ligne qui ressemble à ta requête SQL, il sortira par lui-même du while.
include 'sql_site.php'; // Infos pour se connecter au SQL $sql = "SELECT PASSWORD,EMAIL FROM membres"; // Code pour choisir la table et les colonnes utilisées $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // Requête à la base de donnée while($data = mysql_fetch_assoc($req)) { $bd_password = $data['PASSWORD']; $bd_email = $data['EMAIL']; if($password == $bd_password && $email == $bd_email) { $_SESSION['email'] = $email; $_SESSION['password'] = $password; } } mysql_close(); // Fin de la requête SQL if($_SESSION['email']) include("copyright.php") ; // Si tout est bon else include("copyright.php") ; // Si le email et le password n'est pas bon