Bonjour à tous,

je suis en train d'apprendre le php.
J'essaye de faire une page de connexion toute bête pour m'entrainer.
j'ai un formulaire où l'on tape son pseudo et son mot de passe, un script php qui vérifie le tout et si les informations sont correctes, redirige vers une page qui doit afficher le pseudo qui est enregistré dans un cookie.
Seulement voilà, cette page d'accueil m'affiche un magnifique message d'erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
( ! ) Notice: Undefined index: pseudo in C:\wamp\www\chess\compte\accueil.php on line 10
Call Stack
# Time Memory Function Location
1 0.0002 363440 {main}( ) ..\accueil.php:0
La première page est une page de connexion toute simple :

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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
 
	<head>
		<title>Connexion</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	</head>
 
	<body>
 
		<p>Veuillez entrer votre identifiant et votre mot de passe</p>
 
		<form action="login/check_login.php" method="post">
		<p>
			Identifiant :<input type="text" name="login" /><br />
			Mot de passe :<input type="password" name="password" /><br />
			<input type="submit" value="Envoyer" /> Si vous n'avez pas de compte, inscrivez vous <a href='inscription/inscription.php'>ici</a></p>
		</p>
 
	</body>
 
</html>
Ensuite j'envoie les paramètres dans une autre page php pour les vérifier :

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
<?php
 
	try
	{
		// On se connecte à MySQL
		$bdd = new PDO('mysql:host=localhost;dbname=chess', 'root', '');
	}
	catch(Exception $e)
	{
	// En cas d'erreur, on affiche un message et on arrête tout
	die('Erreur : '.$e->getMessage());
	}
	// Si tout va bien, on peut continuer
 
	if (!empty($_POST['login']) AND (!empty($_POST['password']))) //les champs "login" et "password" ont été remplis	 			
		{
			$hache_password = sha1($_POST["password"]); //on hache le mot de passe
			$req = $bdd->prepare('select * from identifiant where login = :login and password = :password') or die(print_r($bdd->errorInfo())); // on prépare la requête pour les identifiants
			$req->execute(array('login' =>$_POST["login"], 'password' =>$hache_password)); //on exécute la requête avec les variables
			$resultat = $req->fetch(); //On récupère le résultat de la requête
			$req->closeCursor(); //libère la connexion du serveur, permettant ainsi à d'autres requêtes SQL d'être exécutées
 
			if (!$resultat) //on vérifie que les identifiants existent
				{
					echo "<p>Votre identifiant et/ou votre mot de passe sont faux ! Veuillez retourner à la page de connexion en cliquant <a href='http://localhost/chess/index.php'>ici</a></p>";
				}
			else
				{			
					setcookie('pseudo', $_POST['login'], time() + 0);
					header('Location:/chess/compte/accueil.php'); //on redirige vers la page d'accueil					
				}						
		}
	else //un ou plusieurs champs n'ont pas été remplis			
		{
			echo "<p>Vous n'avez pas renseigné tous les champs ! Veuillez retourner à la page de connexion en cliquant <a href='http://localhost/chess/index.php'>ici</a></p>";
		}
 
?>
Puis si tout va bien je redirige vers une page pour tester l'affichage du pseudo après un simple bonjour.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
 
	<head>
		<title>Accueil</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	</head>
 
	<body>
		Bonjour <?php echo $_COOKIE['pseudo']; ?>
	</body>
 
</html>
Mais j'ai tout le temps le même message d'erreur comme je vous l'ai écrit en début de message. Je ne vois pas mon erreur
Merci d'avance pour votre aide