[Php/MySql] Page blanche !
Fermé
sambarre
Messages postés
6
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
23 octobre 2008
-
18 août 2008 à 15:35
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 - 19 août 2008 à 10:27
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 - 19 août 2008 à 10:27
A voir également:
- [Php/MySql] Page blanche !
- Supprimer page blanche word - Guide
- Page d'accueil iphone - Guide
- Traduire une page web - Guide
- Mysql download - Télécharger - Bases de données
- Créer une page facebook - Guide
9 réponses
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
18 août 2008 à 15:42
18 août 2008 à 15:42
Salut,
ne mets pas de blasie <head></head><body></body> et </html>.
Puis essaye en définissant ta variable $pseudo comme tel:
$pseudo = $_GET['pseudo'];
Puis ta requête comme ceci:
$reponse = mysql_query("SELECT * FROM utilisateurs WHERE '" . $pseudo . "'"); // Requête SQL
A+
Gaerebut
ne mets pas de blasie <head></head><body></body> et </html>.
Puis essaye en définissant ta variable $pseudo comme tel:
$pseudo = $_GET['pseudo'];
Puis ta requête comme ceci:
$reponse = mysql_query("SELECT * FROM utilisateurs WHERE '" . $pseudo . "'"); // Requête SQL
A+
Gaerebut
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
18 août 2008 à 16:06
18 août 2008 à 16:06
Autant pour moi !
J'avais pas vu ton POST dans ton formulaire !
Remplace les $_GET par des $_POST sur ta deuxième page. ça devrait marcher !
A+
Gaerebut
J'avais pas vu ton POST dans ton formulaire !
Remplace les $_GET par des $_POST sur ta deuxième page. ça devrait marcher !
A+
Gaerebut
Dr Zoidberg
Messages postés
529
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 juin 2015
100
18 août 2008 à 16:07
18 août 2008 à 16:07
Salut,
Ta requête SQL ne semble pas valide au niveau du where sur pseudo, il faut une comparaison;
Essai de mettre un echo mysql_error() entre la ligne du mysql_query et celle du while.
Ta requête SQL ne semble pas valide au niveau du where sur pseudo, il faut une comparaison;
Essai de mettre un echo mysql_error() entre la ligne du mysql_query et celle du while.
sambarre
Messages postés
6
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
23 octobre 2008
2
18 août 2008 à 16:13
18 août 2008 à 16:13
J'ai essayer ce que tu m'as dit et là surprise !! Enfin qu'elque chose, mais ... pas ce que je veux !!
Voici ce qui m'affiche maintenant :
Parse error: syntax error, unexpected T_WHILE, expecting ',' or ';' in C:\xampp\htdocs\fichemembre.php on line 7
Voici le code :
Autrement dit c'est la ligne :
Que faire ???
Voici ce qui m'affiche maintenant :
Parse error: syntax error, unexpected T_WHILE, expecting ',' or ';' in C:\xampp\htdocs\fichemembre.php on line 7
Voici le code :
<?php mysql_connect("localhost", "*****", "***"); // Connexion à MySQL mysql_select_db("******"); // Sélection de la base $reponse = mysql_query("SELECT * FROM utilisateurs WHERE '" . $pseudo . "'"); // Requête SQL echo mysql_error() while ($donnees = mysql_fetch_array($reponse)) { ?> <title>Fiche du Membre</title> <style type="text/css"> <!-- body { background-color: #5DBEF5; } --> </style> <?php $pseudo = $_POST['pseudo']; $email = $_POST['email']; $avatar = $_POST['avatar']; $nom = $_POST['nom']; $prenom = $_POST['prenom']; ?> <div align="center"> <table border="1" cellspacing="0" cellpadding="0"> <tr> <td width="96" height="96" rowspan="4" valign="top"><p><img src="/avatar/'$avatar'"></p></td> <td width="503" height="24" valign="top"><p>Pseudo : '$pseudo'</p></td> </tr> <tr> <td width="503" height="24" valign="top"><p> E-mail : '$email'</p></td> </tr> <tr> <td width="503" height="24" valign="top"><p>Nom : '$nom'</p></td> </tr> <tr> <td width="503" height="24" valign="top"><p>Prenom : '$prenom'</p></td> </tr> </table> </div> <?php } mysql_close(); // Déconnexion de MySQL ?>
Autrement dit c'est la ligne :
while ($donnees = mysql_fetch_array($reponse))
Que faire ???
Dr Zoidberg
Messages postés
529
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 juin 2015
100
18 août 2008 à 16:17
18 août 2008 à 16:17
Il manque le ; à la fin de la ligne echo mysql_error(), entre autres
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sambarre
Messages postés
6
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
23 octobre 2008
2
18 août 2008 à 16:27
18 août 2008 à 16:27
Je l'ai mit, mais ........ je retrouve ma vielle amie la page blanche lol !!!
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
18 août 2008 à 19:41
18 août 2008 à 19:41
Normal ! Lol
Tu dis que $pseudo = $_POST['pseudo']; Aprrès l'avoir utilisé !
Autrement dit, déclare le en tout début!
Voici le nouveau code :
A+
Gaerebut
Tu dis que $pseudo = $_POST['pseudo']; Aprrès l'avoir utilisé !
Autrement dit, déclare le en tout début!
Voici le nouveau code :
<?php mysql_connect("localhost", "*****", "***"); // Connexion à MySQL mysql_select_db("******"); // Sélection de la base $pseudo = $_POST['pseudo']; $email = $_POST['email']; $avatar = $_POST['avatar']; $nom = $_POST['nom']; $prenom = $_POST['prenom']; $reponse = mysql_query("SELECT * FROM utilisateurs WHERE '" . $pseudo . "'"); // Requête SQL echo mysql_error(); while ($donnees = mysql_fetch_array($reponse)) { ?> <title>Fiche du Membre</title> <style type="text/css"> <!-- body { background-color: #5DBEF5; } --> </style> <div align="center"> <table border="1" cellspacing="0" cellpadding="0"> <tr> <td width="96" height="96" rowspan="4" valign="top"><p><img src="/avatar/'$avatar'"></p></td> <td width="503" height="24" valign="top"><p>Pseudo : '$pseudo'</p></td> </tr> <tr> <td width="503" height="24" valign="top"><p> E-mail : '$email'</p></td> </tr> <tr> <td width="503" height="24" valign="top"><p>Nom : '$nom'</p></td> </tr> <tr> <td width="503" height="24" valign="top"><p>Prenom : '$prenom'</p></td> </tr> </table> </div> <?php } mysql_close(); // Déconnexion de MySQL ?>
A+
Gaerebut
Dr Zoidberg
Messages postés
529
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 juin 2015
100
19 août 2008 à 08:24
19 août 2008 à 08:24
Re,
Ton code est plein d'incohérences :
- Le where de ta requête est incomplet : il faudrait qq chose comme '...pseudo = '$pseudo' ...'
- Il manque des entêtes HTML <html><body>.
- les balises <title><style> et peut-etre le <div> n'ont rien à faire dans la boucle while.
- Et pourquoi utilises-tu un while ? je pense que le login est censé être unique dans ta base (non ?)
- Tes 'echos' de variables ne peuvent pas marcher comme ça : Pseudo : '$pseudo', il n'y à pas de echo et on n'est pas dans un bloc PHP, il faudrait qq chose comme Pseudo: <?php echo $pseudo; ?>.
- seules la donnée pseudo vient du formulaire donc il y a aura juste un $pseudo = $_POST['pseudo'] , pour les autres variables ca serait plutôt $email = $donnees['email'] comme ces infos viennent de la BD.
L'important est que tu comprennes ce que ton code fait, et essaye de travailler étape par étape.
Bon courage
Ton code est plein d'incohérences :
- Le where de ta requête est incomplet : il faudrait qq chose comme '...pseudo = '$pseudo' ...'
- Il manque des entêtes HTML <html><body>.
- les balises <title><style> et peut-etre le <div> n'ont rien à faire dans la boucle while.
- Et pourquoi utilises-tu un while ? je pense que le login est censé être unique dans ta base (non ?)
- Tes 'echos' de variables ne peuvent pas marcher comme ça : Pseudo : '$pseudo', il n'y à pas de echo et on n'est pas dans un bloc PHP, il faudrait qq chose comme Pseudo: <?php echo $pseudo; ?>.
- seules la donnée pseudo vient du formulaire donc il y a aura juste un $pseudo = $_POST['pseudo'] , pour les autres variables ca serait plutôt $email = $donnees['email'] comme ces infos viennent de la BD.
L'important est que tu comprennes ce que ton code fait, et essaye de travailler étape par étape.
Bon courage
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
19 août 2008 à 09:37
19 août 2008 à 09:37
Salut Dr Zoidberg !
Donc je reprend tes remarques :
==> Quand on met juste WHERE quelque chose, cela signifie que la chose existe ! C'est comme un if, on est pas obligé de mettre un == :p
==> Qui te dit que sambarre nous a donné tout son code !?
==> Pourquoi pas ? Il veut a chaque tour de boucle répéter une action. Il construit un formulaire à chaque tour ... c'est son choix et ça marche ! Bon ok j'avouerai que c'est un peu inutile et que c'est stupide de mettre du css (non dynamique surtout) ici mais bon ... c'est pas ça qui fait bugger !
==> Je pense que tu as raison, sambarre devrait vérifier son code à ce niveau ! C'est louche ...
==> Ici, tu as encore entièrement raison, ça ne peut pas marcher.Il faut remplacer ceci:
par ceci:
Et faire pareil pour les autres ($email, $nom et $prenom)
==> Encore raison ! Au final on ne sait pas ce que tu veux faire ! Veux-tu faire un formulaire d'inscription ou une fiche d'info sur un utilisateur ! Voila la différence que tu en fait ! Ici, tu l'écris comme un formulaire d'inscription car il y aura que ton $pseudo d'écris dans le formulaire ...Suis le conseil de notre ami Dr Zoidberg.
Très important ! Effectues des tests pour corriger tes erreurs ;)
A+
Gaerebut
Donc je reprend tes remarques :
- Le where de ta requête est incomplet : il faudrait qq chose comme '...pseudo = '$pseudo' ...'
==> Quand on met juste WHERE quelque chose, cela signifie que la chose existe ! C'est comme un if, on est pas obligé de mettre un == :p
- Il manque des entêtes HTML <html><body>
==> Qui te dit que sambarre nous a donné tout son code !?
- les balises <title><style> et peut-etre le <div> n'ont rien à faire dans la boucle while.
==> Pourquoi pas ? Il veut a chaque tour de boucle répéter une action. Il construit un formulaire à chaque tour ... c'est son choix et ça marche ! Bon ok j'avouerai que c'est un peu inutile et que c'est stupide de mettre du css (non dynamique surtout) ici mais bon ... c'est pas ça qui fait bugger !
- Et pourquoi utilises-tu un while ? je pense que le login est censé être unique dans ta base (non ?)
==> Je pense que tu as raison, sambarre devrait vérifier son code à ce niveau ! C'est louche ...
- Tes 'echos' de variables ne peuvent pas marcher comme ça : Pseudo : '$pseudo', il n'y à pas de echo et on n'est pas dans un bloc PHP, il faudrait qq chose comme Pseudo: <?php echo $pseudo; ?>.
==> Ici, tu as encore entièrement raison, ça ne peut pas marcher.Il faut remplacer ceci:
Pseudo : '$pseudo'
par ceci:
Pseudo : <?php echo $pseudo; ?>
Et faire pareil pour les autres ($email, $nom et $prenom)
- seules la donnée pseudo vient du formulaire donc il y a aura juste un $pseudo = $_POST['pseudo'] , pour les autres variables ca serait plutôt $email = $donnees['email'] comme ces infos viennent de la BD.
==> Encore raison ! Au final on ne sait pas ce que tu veux faire ! Veux-tu faire un formulaire d'inscription ou une fiche d'info sur un utilisateur ! Voila la différence que tu en fait ! Ici, tu l'écris comme un formulaire d'inscription car il y aura que ton $pseudo d'écris dans le formulaire ...Suis le conseil de notre ami Dr Zoidberg.
[...] travailler étape par étape
Très important ! Effectues des tests pour corriger tes erreurs ;)
A+
Gaerebut
Dr Zoidberg
Messages postés
529
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 juin 2015
100
19 août 2008 à 10:20
19 août 2008 à 10:20
Je suis d'accord avec toi pour le where, ca ne serait pas une erreur si dans le code on avait 'where pseudo' (on chercherait les lignes avec un pseudo non null) mais pas comme ici avec where $pseudo. Car SQL chercherait une colonne qui s'appelle comme le pseudo.
Ok aussi pour les entêtes mais je signalais qu'elles manquent dans le code donné, après à notre ami de vérifier.
Et à moitié d'accord sur le coup de la boucle, effectivement on peut mettre un <style> dans la boucle, mais un <title> qui est unique sur une page et est dans le <head> et dans notre cas il n'y a pas de head fermant.
Ok aussi pour les entêtes mais je signalais qu'elles manquent dans le code donné, après à notre ami de vérifier.
Et à moitié d'accord sur le coup de la boucle, effectivement on peut mettre un <style> dans la boucle, mais un <title> qui est unique sur une page et est dans le <head> et dans notre cas il n'y a pas de head fermant.
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
19 août 2008 à 10:27
19 août 2008 à 10:27
Totalement d'accord ^^
Désolé pour le Where tu avais raison ... :p (j'ai pas vérifié mais j'imagine bien)
A+
Gaerebut
Désolé pour le Where tu avais raison ... :p (j'ai pas vérifié mais j'imagine bien)
A+
Gaerebut
18 août 2008 à 15:55
Sinon voici mon nouveau code :
Merci de m'aider !