Un premier exercice pour Bruno
Par Yves Tannier le dimanche, novembre 16 2003, 15:49 - Le PHP - Lien permanent
Les cours PHP/Mysql on commencés avec Bruno. Voilà donc le premier exercice commenté : une petit script d'authentification. Les infos utilisateurs sont stockées dans une BDD Mysql... Maintenant que phpmyadmin fonctionne sur le Pingouin de Nob
Le fichier connection.php
<?php
require ("conf.php"); // le fichier de config avec la fonction de
connection
$usersite = trim(htmlspecialchars(addslashes($usersite)));
//Parsing du login pour éviter les envois de code html ou de caractères
spéciaux
$passesite = trim(htmlspecialchars(addslashes($passesite)));
//parsing du password pour les même raison
connect(); //connection à la base de donnée avec la fonction qui
est dans le fichier de conf
$sql = "SELECT usersite, passesite, nom FROM $table_user WHERE usersite='".$_POST["usersite"]."'
AND acces=1";
// la requete mise dans la variable $sql
$requete = mysql_query($sql); // exécution dans la requete avec mysql_query
$res = mysql_num_rows($requete);// on compte le nombre de résultatsif
($res > 0) //si le nombre de résultat est supérieur à
0 alors...
{
$resultat = mysql_fetch_array($requete); // on mets les résultats dans
un tableau associatif $resultat[]
$local_pass = $resultat["passesite"]; // on extrait la valeur du champ
"passesite" pour l'utilisateur "usersite" de la BDD
if ($local_pass == $_POST["passesite"]) // on compare la valeur de
la base avec celle rentrée dans la BDD et si c'est ok...
{
echo "Bienvenue ".$resultat["nom"]; // bienvenue avec le
nom de la personne extrait de la base s'affiche sur la page
}
else // si le mot de passe ne correspond pas
{
echo "Mot de passe incorrect"; // bon la t'as compris
}
}
//fin de la premiere boucle et docn sinon...
// le login n'est pas bon
else
{
echo "Nom d'utilisateur incorrect";
}
mysql_close(); //on ferme la connection
?>
le fichier de configuration conf.php
<?php
$host = "localhost";
//nom hote de la BDD
$user = "user"; //utilisateur
$password = "pass"; //mot de passe
$database = "base"; //nom de la base
$table_user = "user"; // la table avec les infos utlisateurs
//----------------------------------------------------------------- erreur de
connexion
function erreur($msg) {
$error = mysql_error();
echo $error."<br />
";
echo "Problème de connexion à la base de données";
exit();
}
//----------------------------------------------------------------- connection
function connect(){
global $host, $user, $password, $database;
$link = mysql_connect($host,$user,$password);
if (! mysql_select_db($database,$link))
erreur("Problème de sélection de la base");
else return $link;
}
?>
Et enfin le formulaire de saisie en html :
<fieldset>
<form method="post" action="connection.php">
<p><b>Accès au calendrier</b></p>
<p>identifiant :
<!-- là c'est un champ de type texte qui envois la variable usersite
-->
<input type="text" value="votre identifiant" onclick="this.value=''"
name="usersite" />
<br />
mot de passe :
<!-- là c'est un champ de type password qui envois la variable passesite
-->
<input type="password" name="passesite" />
<br />
<!-- le bouton -->
<input type="submit" value="identification" />
</p>
</form>
</fieldset>