Bonjour à tous et à toutes,

Dans le script d'identification suivant :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
<?php
	session_start(); // ouvrir une session
	require_once("includes/inc_connexion.php"); // on se connecte à la Base de données		
 
		try {
			// On vérifie que les champs pseudo et pass soient initialisées bien et qu'ils ne soient pas vides			
			if(isset($_POST['pseudo']) && isset($_POST['pass']) && !empty($_POST['pseudo']) && !empty($_POST['pass'])) {		
				$login = addslashes($_POST['pseudo']);
				$login = htmlentities($login);
				$password = md5($_POST['pass']); // on crypte le mot de passe
				extract($_POST); // importation des variables dans la table des symboles 			
				// on recupère le password de la table qui correspond au login du visiteur
				// utilisation d'un marqueur nominatif dans la requete
				$req="select * from membres where login = :pseudo and password = :pass" ;
				// on prépare la requete a executer sur le serveur
				$stm=$conn->prepare($req);
				// on exécute la requete
				$stm->execute(array(':pseudo'=> $login,':pass'=> $password));
 
				// récuperer chaque entree du resultat de la requete
				// chaque entree doit etre stockee sous forme d'objet dans une variable $ligne
				$ligne=$stm->fetch(PDO::FETCH_OBJ);				
 
				 // Ensuite, on regarde si il existe un membre avec ce login et ce pass
				if($ligne === 1) {
				// ouverture d'une session pour l'utilisateur
					session_start();
					// creation de la variable de session
					$_SESSION['pseudo'] = $login;
 
					echo '<p style="color:green">Vous êtes authentifié</p>';
 
				} else {
					echo '<p style="color:red">Mauvais login ou mot de passe</p>';
					// Redirection vers la page d'accueil du site
					header("Location: http://localhost/index.php");
					exit; // pour non-execution de la suite du code
				}
			} else {
				//echo '<p>Vous avez oublié de remplir un champ.</p>';				
				exit;
			}
			$stm->closeCursor();
		} //try
		catch(Exception $e) {
			echo "Accès à l'espace membre impossible : ", $e->getMessage();
		} //catch
 
 
?>
Dans le fichier index.php contenant le formulaire d'identification :
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
 
<?php
	session_name("initiated");
	session_start();
	if(!isset($_SESSION['initiated'])) {
		session_regenerate_id();
		$_SESSION['initiated'] = true;
		print_r($_SESSION);
	}
	require("includes/inc_connexion.php");	
	$conn=opendb_conn();
	//$_SESSION['pseudo'] = $_POST['pseudo'];
 
?>
...
<form method="post" action="connexion.php" id="connexionForm" onSubmit="return verif_connexion()">
						 <p>
							Identifiant :<input type="text" name="pseudo" id="pseudo" placeholder="e.g : vineyard" size="27" maxlength="15"/>
						</p>
						<p>
							Mot de passe :<input type="password" name="pass" id="pass" size="24"/>
						</p>
						<p><input type="submit" value="Se connecter" /></p>
 
					</form><!-- connexionForm -->
L'identification ne s'effectue pas.
Merci d'avance,
Transact