Envoi de données avec formulaire

Fermé
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 16 déc. 2013 à 15:57
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 16 déc. 2013 à 21:13
Aaaaahh, les joies de l'informatique quand tout merdoie sur une page alors que l'on utilise la même syntaxe au caractère près sur une autre page qui fonctionne... Alors voilà, tout ce que je veux, c'est créer deux zones de textes où l'utilisateur entre son pseudo et son mot d passe, et les récupérer sur une autre page. Rien de bien difficile, sauf quand tout se met à foirer sans raisons ( j'espère bien qu'il y a une raison quand même !). Alors voilà mon formulaire :

<form method="post" action="Co.php">
<input type="text" class="identifiant" name="pseudo" placeholder="Pseudo"></input>
<input type="password" class="motdepasse" name="passe" placeholder="mot de passe"></input>
<input type="submit" value="Connexion" class="ButtonLogin" onclick="connect()"></input>
</form>




Et voilà ma page Co.php :

<?php

$req = $bdd->prepare('SELECT id FROM membres WHERE pseudo = :pseudo AND pass = :pass');
$req->execute(array(
'pseudo' => $_POST['pseudo'],
'pass' => $_POST['passe']));

$reponse = $req->fetch();

if(!$reponse)
{
echo "Le mot de passe et/ou l'identifiant est incorrect ";
}
else
{
session_start();
$_SESSION['pseudo'] = $pseudo;
$_SESSION['passe'] = $mot;
echo "Connexion réussie, vous pouvez fermer cette fenêtre";
}
?>


Et à chaque fois que je lance la connexion, voilà ce que j'obtiens :

Notice: Undefined index: pseudo in C:\wamp\www\Site\Co.php on line 12

Notice: Undefined index: passe in C:\wamp\www\Site\Co.php on line 13


Alors que j'ai bien définie pseudo et passe avant. J'ai déjà fait ça sur une autre page et ça marchait nickel, alors je ne sais vraiment pas quoi faire à part me défouler en écoutant du AC/DC pour ne pas flinguer mon ordi...
J'espère que vous trouverez une erreur !
Merci d'avance !

3 réponses

Bonjour, met nous un petit
if(isset($_POST['pseudo'] AND isset($_POST['password']{
$pass = $_POST['password'];
$pseudo = $_POST['password'];


}
et remplace ça
$bdd->prepare('SELECT id FROM membres WHERE pseudo = :pseudo AND pass = :pass'); 
$req->execute(array(
'pseudo' => $_POST['pseudo'],
'pass' => $_POST['passe']));
par ça
bdd->prepare('SELECT id FROM membres WHERE pseudo = ? AND pass = ?');
$req->execute(array($pseudo, $pass));
0
j'ai zaper le $ devant bdd
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
16 déc. 2013 à 16:34
Lorsque tu tentes d'initialiser ta session, les variables
$pseudo
et
$mot
n'existent pas, tu ne les as pas initialisées nul part.

Je n'ai pas pu tester le code mais tu aurais sans doute plus de chance avec ce code-ci:

// Vérifier que le pseudo et le mot de passe sont présents
if ( !empty($_POST["pseudo"]) && !empty($_POST["passe"]) ) {

	$pseudo = $_POST["pseudo"];
	$passe = $_POST["passe"];
	
	$req = $bdd->prepare('SELECT id FROM membres WHERE pseudo = :pseudo AND pass = :pass'); 
	$req->execute(array( 
	'pseudo' => $pseudo, 
	'pass' => $passe)); 

	$reponse = $req->fetch(); 

	if(!$reponse) 
	{ 
		echo "Le mot de passe et/ou l'identifiant est incorrect "; 
	} 
	else 
	{ 
		session_start(); 
		$_SESSION['pseudo'] = $pseudo; 
		$_SESSION['passe'] = $passe; 
		echo "Connexion réussie, vous pouvez fermer cette fenêtre"; 
	} 

}

0
Lis bien le message c'est pas un soucis de session qu'il a c'est un soucis de variable
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
16 déc. 2013 à 17:33
Il tente d'initialiser une variable session avec une variable non-définie, c'est bien un problème de variable auquel je m'adresse.
0
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 6
16 déc. 2013 à 21:13
Merci beaucoup ça marche maintenant ! Par contre j'ai un problème, je n'arrive pas à contrôler le positionnement des objets avec le CSS. Dans ma page PHP, j'ai beau écrire :
<meta charset="utf-8" />
<link rel="stylesheet" href="description.css" />

je ne peux pas jouer sur le positionnement en modifiant description.css.
Avez-vous déjà eu ce problème ? Quelle est la solution ?
0