Easy-Micro


ESPACEMEMBRE PHP-MySQL
Un accès privé

Réaliser un accès privé

Exemple qui implique la création d'une table "utilisateurs" avec 3 champs (id, login et mdp). Ne pas oublier de sélectionner la fonction PASSWORD lors de la création des mots de passe dans la base. Et attention, cette fonction PASSWORD génère un code d'une quarantaine de signe: donnez-lui donc un type VARCHAR d'au moins 50 caractères.

Pour tester cet exemple, créez un formulaire avec un champ 'login", un champ 'mdp' et un bouton submit. Si les champs existent dans la base, on redirige vers une page de bienvenue, sinon retour au formulaire.

Le fichier "traitement_login.php"
<?php
// le contenu du formulaire est vérifié en ammont avec du javascript

// Récupération du contenu des champs et affectation à la variable login
if(isset($_POST['login']) && !empty($_POST['login'])) { $login = $_POST['login'];}
if(isset($_POST['mdp'])) { $mdp = $_POST['mdp'];}

// Récupération des variables d'identification:
include("config.php");

// Connexion au serveur MYSQL
$connexion = mysql_connect($serveur,$user,$pass) or die("Pas de connexion: ".mysql_error());
mysql_select_db($base); // sélection de la base

if($login && $mdp) {
// Requête qui vérifie si l'email - le login - et le mot de passe sont dans la table
// Attention, MySQL respecte la casse

// Ne pas oublier de sélectionner la fonction PASSWORD lors de la création des mots de passe dans la base.
$requete = "SELECT * FROM utilisateurs WHERE login='".$login."' AND mdp=PASSWORD('".$mdp."')";
$resultat = mysql_query($requete);

// "mysql_fetch_assoc" lit une ligne de résultat et retourne un tableau, cette fonction renvoie uniquement
// le contenu des champs avec le nom de la colonne (pas le numéro d'indice, voir "mysql_fetch_array")
// On aurait pu utiliser ici un  if (mysql_num_rows($resultat) > 0) {... 
$verif = mysql_fetch_assoc($resultat);

// Si le résultat n'est pas vide
if($verif != "") {

// Redirection vers la page de bienvenue (bienvenue.php)
header("Location: bienvenue.php");
}

// Sinon, redirection vers le formulaire (index.php)
else { header("Location: index.php"); }

}
// Fermeture de la connexion MySQL (facultatif)
mysql_close($connexion);
?>

Note: Ne pas oublier de sélectionner la fonction PASSWORD lors de la création des mots de passe dans la base.


Suivez les aventures des skippers aquitains sur EasyVoile.com
Flux RSS Easy-Micro - Abonnez-vous Easy-Micro [ François Bisch ]
Lundi 25 mars 2019 - Semaine 13 - Saint Humbert (Demain: Sainte Larissa)
Aujourd'hui, c'est l'anniversaire de Marcia Cross (1962-57 ans), comédienne américaine (rôle de Bree Van de Kamp dans Desperate Housewives). Autre 25 mars: 1918 : décès à Paris du compositeur français Claude Debussy. 1984 : Alain Prost gagne le grand prix de Formule 1 du Brésil.
Haut de page Easy-Micro