Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/07/2011, 23h27   #1
 
Homme
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : -2
Points : -2
Par défaut probleme connexion et session

bonjour alors je suis nouveau dans le grand monde du php (alors galere )

voila fait mon formulaire d'inscription avec du mal mais nikel puis je me suis attaquer a ma page de connexion et la pfff je peine

deja voici mon code :p

Code :
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
	// connesxion bdd
	try {
			$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
			$bdd = new PDO('mysql:host=localhost;dbname=mn_info', 'root', '', $pdo_options);
	}catch (Exception $e){
	die('Erreur : ' . $e->getMessage());
	}
 
	if(!empty($_POST['pseudo'])&& !empty($_POST['mdp'])) //verif que les champs soit pas vide 
	{
		$reponse=$bdd->query('SELECT pseudo,mdp FROM formulaire');
 
 
 
			if($reponse!=$pseudo && $reponse!=$mdp)
		{
			echo 'Mauvais pseudo ou mot de passe';
 
	}
		elseif ($reponse==$pseudo && $reponse==$mdp)
		{	
			session_start();//si tout est ok on crée $_SESSION['pseudo']
			$_SESSION['pseudo']=$pseudo;
		?>	
			<p>Connexion réussi!!<br/>
			<a href="acc.php"><strong>Accueil</strong></label></p>;
		<?php
	}
 
		else 
		{
		'Tous les champs doivet etre remplis';	
	}
	}
		?>
 
<!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" >
   <head>
       <title>MN-Iformatique.com</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
   </head>
   <body>
 
   <div id="en_tete">
   </div>
 
   <?php include("menu.php");?>
 
   <div id="corps">
   <div id="formulaire">
		<form method="post" action="connexion.php">
 
 
		<p> <label for="pseudo">Pseudo</label><input type="text" name="pseudo" id="pseudo"/><br/>
		<label for="mdp">Mot de passe</label><input type="password" name="mot de passe"/><br/>
						<br/><input type="submit" name="connexion" value="Connexion"/>
		</form>
 
 
	</div>
	</body>
	</html>
mon souci j'ai donc crée un compte qui est bien dans ma base de donnée je l'ai d'ailleur activer car encor plancher sur le mail d'activation ...le hic quand j'essaye de me logé rien ne se passe j'ai beau remplir les champ pseudo et mdp correctement ou incorrectement ou en oubliant un champ rien ne bouge aucun message n'aparait et pas d'erreur de syntaxe ou autre !!!

svp un pti coup de pouce :p merci d'avance
lebarbare est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 23/07/2011, 00h36   #2
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
Ta requête doit aller contrôler uniquement le mot de passe du pseudo qui se connecte, alors que là que elle récupère tous les pseudos et mots de passe de tous les utilisateurs.

Ligne 16, tu utilises des variables $pseudo et $mdp qui n'ont jamais été initialisées.

Autre problème, la fonction query() de PDO ne renvoie pas directement des colonnes de résultat, il faut utiliser la fonction fetch() pour ça.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2011, 15h25   #3
 
Homme
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : -2
Points : -2
re desoler pour le temp de reponse mais probleme de pc :p

bon alors deja merci de repondre :p secondo pour le pdo je ne connais rien enfaite je debute dans le php pour le pdo j'ai vu vaguement les deux trois requete qui traine dans les tuto php mais pas encor eu le temp de me panché dessus comme il faut ..

tu aurais un exemple pour me faire voir comment recuperé juste le mot de passe alor car je vois pas trop... de meme pour la fonction fetch()
lebarbare est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2011, 23h04   #4
 
Homme
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : -2
Points : -2
bon voila j'ai beau réessayer c'est toujour la meme j'ai passer l'aprem a lire pianoté ect et toujour le meme souci !!

Code :
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
		<?php
		if (isset($_POST['ok']))
			{// connesxion bdd
		try {
			$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
			$bdd = new PDO('mysql:host=localhost;dbname=mn_info', 'root', '', $pdo_options);
			}catch (Exception $e){
			die('Erreur : ' . $e->getMessage());
			}
 
			if(!empty($_POST['pseudo'])&& !empty($_POST['mdp'])) //verif que les champs soit pas vide 
 
				{
 
			($reponse=$bdd->query('SELECT mdp FROM formulaire '));
			WHILE($donnees=$reponse->fetch());
 
		if ($mdp==md5($donnees))
 
		{
			session_start();//si tout est ok on crée $_SESSION['pseudo']
			$_SESSION['pseudo']=$pseudo;
 
			echo 'Connexion reussi !!   <a href="acc.php"><strong>Accueil</strong></a>';
		}
		elseif ($mdp!=md5($donnees))
 
		{
		echo 'Mauvais pseudo ou mot de passe';
 
		}
 
		}
		else
			{
			echo 'Tous les champs doivent etre remplis';
 
		}
		}
	?>
	</div>
	</div>
	</body>
	</html>
le probleme c'est que quoi que je fasse j'ai uniquement ce message"Tous les champs doivent etre remplis" comme si php saute tous la partie avec la requete donc je suppose que le souci ce trouve dans celle si mais la je seche !!
lebarbare est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 25/07/2011, 16h54   #5
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
Il y a autant de problèmes qu'avant dans le bout de code.
Si tu ne t'en sors pas à ce niveau-là, c'est qu'il te manque les bases de la programmation.
Il faut que tu formes en programmation avant de pouvoir réussir ce genre de programme.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 21h28   #6
 
Homme
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : -2
Points : -2
je sais bien qu'il me manque beaucoup je commence seulement ...

jmais pour se former il faut bien taper du code ...aurais tu des conseil de pti truc pour m'entrainer car j'ai beau lire des tuto les exemple sont generale donc pas toujour evident de comprendre :p
lebarbare est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 14h59   #7
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
J'imagine qu'il faut commençer là:
http://php.developpez.com/cours/
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 15h08   #8
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 772
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 772
Points : 2 329
Points : 2 329
Citation:
Envoyé par lebarbare Voir le message
je sais bien qu'il me manque beaucoup je commence seulement ...

jmais pour se former il faut bien taper du code ...aurais tu des conseil de pti truc pour m'entrainer car j'ai beau lire des tuto les exemple sont generale donc pas toujour evident de comprendre :p
Tu as plusieurs cours de PHP à ta disposition sur le net, tout un tas même.
Je sais pas trop si on a le droit de faire de la pub ici, donc j'en ferai pas, mais Google est ton ami si jamais les cours d'ici ne te paraissent pas clairs ( pourtant ils le sont )
FirePrawn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h23.


 
 
 
 
Partenaires

Hébergement Web