Probleme pour envoyer des données.

Résolu/Fermé
drlecteur Messages postés 36 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 24 octobre 2012 - 24 juil. 2012 à 12:45
drlecteur Messages postés 36 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 24 octobre 2012 - 25 juil. 2012 à 11:11
Bonjour,

Je me retourne vers vous une fois de plus car je suis bloquer :( .
En quelques mot je vous explique ce que j'essaye de faire puis je vous montrerai le code.

Donc voila la première page est un formulaire ou l'ont doit écrire un nom prénom et un mdp.
Ensuite on submit le formulaire et on appelle une 2 eme page. Dans cette 2 eme page on récupère les info du formulaire puis on les compare avec des donnés dans mas base de donnée. En effet dans celle ci j'ai un table nommé 'log' avec les champs 'prénom' & 'mot de passe'.

Ma question est la suivante :

Pourquoi lorsque je remplis et que j'envoie les donnés du formulaire de ma première page a ma deuxième lorsque j'arrive sur la deuxième la page est totalement blanche. Je demande a afficher le code source il n'ya rien. De plus au tout début de ma deuxième page j'ai mi un écho il ne s'affiche pas non plus. Je ne comprend pas.

Je vous met le code des deux pages :

Le formulaire page une :

<!DOCTYPE >
<html>
<head>
<title>Identifiaction</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form action="main_page.php" method="post">
<p>
<br /> <br /> Veuillez taper votre prenom : <br /><br />
<input type="text" name="prenom" />
<br /> <br /> Veuillez taper votre Nom : <br /><br />
<input type="text" name="nom" />
<br /><br /> Veuillez taper votre mot de passe :<br /><br />
<input type="text" name="mdp" />
<br /><br /><input type="submit" value="Valider" /><br /><br />
</p>
</form>
</body>
</html>

et la seconde page pour verifier les entrées avec ce que contien la base de données :

<!DOCTYPE >
<html>
<head>
<title>Page Principal</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
echo "loooooolooooool";
<?php
$nom = htmlspecialchars($_POST['nom']); // Recuperation des info envoyer par l'utilisateur
$prenom = htmlspecialchars($_POST['prenom']);
$mdp = htmlspecialchars($_POST['mdp']);
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// On récupère tout le contenu de la table log
$reponse = $bdd->query('SELECT * FROM log');
?>
$i = 0;
<?php
while ($donnees = $reponse->fetch())
{
if ($donnees['prenom'] == $prenom AND $donnees['Mot de passe'] == $mdp AND $donnees['nom'] == $nom) // ici on essaye de trouver dans la db des information qui son les meme que celle rentré par l'utilisateur
$i = 1;
?>
<?php
}
if ($i == 0)
WRONG LOGGIN/MDP // je rappelerai la page du formulaire
if ($i == 1)
you can enter // j'appelle la page suivante.
$reponse->closeCursor(); // Termine le traitement de la requête
?>
</body>
</html>


J'espère que j'ai été claire et que vous pourrez m'aider ! Merci d'avance.


11 réponses

Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
24 juil. 2012 à 12:53
j'arrive sur la deuxième la page est totalement blanche. Je demande a afficher le code source il n'ya rien
Ca sent l'erreur PhP à plein nez et que tu as un display_errors à Off ;)

Pour tester, je te conseil de mettre en tout début de ton fichier 2 ce qui suit :
<?php
 ini_set("display_errors", 1);
?>


Et à noter que dans ton fichier, y a pas mal de code php qui ne sera pas interprété car hors balise PhP (genre ton echo "loooooolooooool"; par exemple)
0
drlecteur Messages postés 36 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 24 octobre 2012
24 juil. 2012 à 13:22
deja merci de t'intéresser a mon cas. alors voila j'ai mis au début ce que tu ma dit de mettre mais apparament cela n'a rien changer. De plus j'ai rajouter les balise php pour mon echo mais il ne s'affiche toujours pas. en gros j'en suis toujours au même point :X
0
valentin2703 Messages postés 180 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 30 septembre 2012 9
24 juil. 2012 à 13:23
Ce que je vais te dire ne vas surement pas corriger tes erreurs, mais bon :
- Le echo "loooooolooooool"; doit être mis à l'intérieur des balises PHP, même chose pour le $i = 0;
- Dans ton if, remplace les AND par des &&
- Tu ne peut pas te mettre d'écrire des choses qui ne sont pas du PHP à l'intérieur des balises PHP. Donc il faut supprimer (ou commenter) WRONG LOGGIN/MDP et you can enter
0
valentin2703 Messages postés 180 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 30 septembre 2012 9
24 juil. 2012 à 13:28
Voila un code fonctionnel :

<!DOCTYPE >
<html>
<head>
<title>Page Principal</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
echo "loooooooooooooool";

$nom = htmlspecialchars($_POST['nom']);
$prenom = htmlspecialchars($_POST['prenom']);
$mdp = htmlspecialchars($_POST['mdp']);
try {
	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
} catch(Exception $e) {
	die('Erreur : '.$e->getMessage());
}

$reponse = $bdd->query('SELECT * FROM log');
$i = 0;

while ($donnees = $reponse->fetch()) {
	if ($donnees['prenom'] == $prenom AND $donnees['Mot de passe'] == $mdp AND $donnees['nom'] == $nom)
		$i = 1;
}

if ($i == 0)
	// WRONG LOGGIN/MDP, je rappelerai la page du formulaire
if ($i == 1)
	//you can enter, j'appelle la page suivante.
$reponse->closeCursor(); // Termine le traitement de la requête
?>
</body>
</html>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
drlecteur Messages postés 36 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 24 octobre 2012
24 juil. 2012 à 13:52
ok merci, je vien de voir vos message, je vais manger je test tout sa aprés manger. Je vous tiendrai au courant de mon avancer. Merci beaucoup.
0
drlecteur Messages postés 36 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 24 octobre 2012
24 juil. 2012 à 16:02
ok deja j'a fait ce que tu m'a dit, cela m'affiche le echo et a valeur de l'int i. Cependant la boucle que j'ai fait ne marche pas je vais me pencher sur le sujet. Si je n'y arrive vraiment pas je viendrait poser mes questions ! merci de l'aide que vous m'avez apportez !!!
0
drlecteur Messages postés 36 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 24 octobre 2012
24 juil. 2012 à 16:32
Ma boucle ne marche pas, enfin je pense plutôt que c'est la condition pour mettre 'i' a un qui est incorrecte. Je vous met le code plus propre ici :

<!DOCTYPE >
<html>
<head>
<title>Page Principal</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
echo "loooooooooooooool";
$prenom = htmlspecialchars($_POST['prenom']);
$mdp = htmlspecialchars($_POST['mdp']);
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT * FROM log');
$i = 0;
while ($donnees = $reponse->fetch())
{
if ($donnees['prenom'] == $prenom && $donnees['Mot de passe'] == $mdp)
{
$i = 1;
}
}
if ($i == 0)
// WRONG LOGGIN/MDP, je rappelerai la page du formulaire
if ($i == 1)
//you can enter, j'appelle la page suivante.
$reponse->closeCursor(); // Termine le traitement de la requête
?>
</body>
</html>

Merci de votre aide.
0
valentin2703 Messages postés 180 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 30 septembre 2012 9
Modifié par valentin2703 le 24/07/2012 à 16:39
Tu devrais essayer de les comparés toi même, pour voir si tes variables sont bien remplis :
echo $donnees['prenom'] . ' : ' . $prenom . '<br/>';   
echo '$donnees['Mot de passe'] . ' : ' . $mdp;


PS: Les espaces dans les noms de champs c'est une mauvaise idée. Dans ta table, appel ton champs mot_de_passe plutôt que "Mot de passe"
0
drlecteur Messages postés 36 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 24 octobre 2012
24 juil. 2012 à 16:56
J'ai essayer, en fait en dehors de la boucle lorsque j'affiche la valeur de $prenom et &mdp les valeurs sont bonne. Maintenant quand je veux afficher les même valeur dans la boucle ou au quand je veux afficher les valeur de $donnees['prenom'] et de $donnees['Mot de passe'] dans la boucle rien n'apparait non plus. C'est pour cela que je pense que dans mon scritp je ne rentre même pas dans la boucle mais je ne comprend pas pourquoi :'( .
0
valentin2703 Messages postés 180 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 30 septembre 2012 9
24 juil. 2012 à 19:18
Si tu ne rentre pas dans ta boucle, c'est que tu a un problème avec ta base de données.
- Connexion non-réussie
- Mauvaise requête
- Table non existante
0
drlecteur Messages postés 36 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 24 octobre 2012
25 juil. 2012 à 11:11
ok probleme résolu merci beaucoup a tous !
0