Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPremier cas : tu range $_POST['login'] dans une variable $login "nettoyée" que tu peut réutilisé tel que dans tes requêtes. Deuxième cas : Tu devras utilisé le code à chaque fois que tu voudras passer ta variable $_POST['login'] dans une requête.
$login=mysql_real_escape_string($_POST['login']); SELECT count(*) FROM membre WHERE login='".$login."'
<?php // on teste si le visiteur a soumis le formulaire de connexion if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { $base = mysql_connect ('localhost', 'name', 'mdp'); mysql_select_db ('membre', $base); // on teste si une entrée de la base contient ce couple login / pass $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL ! '.$sql.' '.mysql_error()); $data = mysql_fetch_array($req); mysql_free_result($req); mysql_close(); // si on obtient une réponse, alors l'utilisateur est un membre if ($data[0] == 1) { session_start(); $_SESSION['login'] = $_POST['login']; header('Location: membre.php'); exit(); } // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe elseif ($data[0] == 0) { $erreur = 'Compte non reconnu.'; } // sinon, alors la, il y a un gros problème :) else { $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; } } else { $erreur = 'Au moins un des champs est vide.'; } } ?>
<?php session_start(); // on teste si le visiteur a soumis le formulaire de connexion if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
<?php session_start(); if (!isset($_SESSION['login'])) { header ('Location: membre.php'); exit(); } ?>
session_start();