Dans ta condition where, il manque pas quelque chose dans le nom='$' ? Je connais ps trop cette syntaxe avec le sprintf, mais si c'est comme pour le passe il te manque le 's'.
Sur la ligne 25, pour concaténer ta session, c'est un point et pas une virgule.
edit : Le session_start() doit se trouver sur ta première ligne en haut normalement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <?php mysql_connect("XXX", "XXX", "XXX"); mysql_select_db("XXX"); if(empty($_POST['nom']) || empty($_POST['passe'])) { echo '<p>Veuillez vous identifier, ou vous inscrire : <a href="../inscription.php" >ICI</a></p>'; exit; } $sql = sprintf("SELECT nom, prenom FROM connexion WHERE nom='%s' AND passe = '%s'", mysql_real_escape_string($_POST['nom']), mysql_real_escape_string(sha1($_POST['passe'])) ); $req = mysql_query($sql); $data = mysql_fetch_assoc($req); if (!$data) { echo '<p>Mauvais nom / mot de passe. Merci de recommencer en retournant à la page de <a href="/" >connexion</a>.</p>'; exit; } session_start(); $_SESSION = $data; echo "Connexion établie, ".$_SESSION['prenom']; ?>
Partager