Page de connexion php

Fermé
yaci25 Messages postés 10 Date d'inscription mercredi 26 juin 2013 Statut Membre Dernière intervention 30 septembre 2015 - 4 sept. 2014 à 12:38
 Utilisateur anonyme - 4 sept. 2014 à 17:59
salut a tous
S il vous plait j aimerais que vous m aidez sur la gestion de connexion des utilisateurs a une page web.
En effet pour se connecter chaque utilisateur doit entrer son nom puis son mot de passe. Mon probleme est surtout au niveau de la recuperation du nom et du mot de passe dans la base de donnees.
Donc j aimerais avoir le code en php pour faire tout ca. Merci davance
A voir également:

2 réponses

Le code de ta page de connexion :

<form method='post' action='log.php'>
Utilisateur : <input type='text' name='user' /><br />
Mot de passe : <input type='password' name='password' /><br />
<button type='submit' name='valide'>Connexion</button>
</form>



La page qui recoit les info : log.php fortement inspire de https://www.commentcamarche.net/contents/784-php-bases-de-donnees

<?php
//POUR LA CONNEXION A LA BASE DE DONNEES :
$connect = mysql_connect($host,$user,$passwd);
//host = le serveur
// $user = utilisateur de la base de donnees
// $passwd = le mot de passe BD

//selection de la base de données sur le serveur $bdd
mysql_select_db($bdd)

if (isset($_POST['valide'])) //si on envoie les infos de validation
{
//on lance la recup des infos dans la BD
// Creation et envoi de la requete
$query = 'SELECT id FROM base_utilisateur WHERE nom = "'.$_POST['user'].'" AND mot_de_passe = "'.$_POST['password'].'" ';
$result = mysql_query($query);
if ($mysql_num_row($result) > 0) //sI IL A PLUS DE 0 RESULTAT ALORS
{
//creatiopn de parametre de SESSION pour rester connecter ou de COOKIES A toi de voir !
}
}
?>


ATTTENTION CECI EST UN EXEMPLE SIMPLIFIE DE NOMBREUSE CHOSE SONT A FAIRE POUR QUE LE CODE SOIT PROPRE (UTILISATION DE CLASSE PAR EXEMPLE, CRYPTAGE DES MOTS DE PASSE, etc etc)
1
Utilisateur anonyme
4 sept. 2014 à 17:59
Tu envoie sur ta requête directement les données de $_POST, sans les échapper/sécuriser : un simple ' et le "pirate en herbe" accède à ce qu'il veut par injection SQL !

Donc faire ça serait plus sage :
<?php
$query = 'SELECT id FROM base_utilisateur WHERE nom = "'.mysql_real_escape_string(htmlspecialchars($_POST['user'])).'" AND mot_de_passe = "'.mysql_real_escape_string(htmlspecialchars($_POST['password'])).'" ';
?>
0
Utilisateur anonyme
4 sept. 2014 à 12:44
Salut,

Un peu de recherche serait la bienvenue, mais je vais te mettre sur la piste.

- Lorsque ton formulaire est validé, il redirige vers ta page de traitement.
- Ici, tu récupère les $_POST, les stocke, les échappe pou les sécuriser (aussi bien au niveau SQL que HTML)
- Tu appelle ta table dans ta base de données pour vérifier si l'utilisateur existe, et si son mot de passe est correct
- Si oui, tu récupère son id, que tu stocke en $_COOKIE ou $_SESSION
- Si non, tu le renvoie vers la connexion avec un message d'erreur

En espérant t'avoir éclairé ;) ...
0