[Php/MySql] Page blanche !
                    
        
     
             
                    sambarre
    
        
    
                    Messages postés
            
                
     
             
            29
        
            
                                    Statut
            Membre
                    
                -
                                     
gaerebut Messages postés 1060 Statut Membre -
        gaerebut Messages postés 1060 Statut Membre -
        Bonjour,
J'ai un petit problème avec mon site, voilà tout :
Je veux créer une fiche membre avec une recup des infos après avoir entré le pseudo du membre cherché !
Page de recherche (Fonctionnelle mais bon ^^) :
Page d'arrivé (avec les infos du membre, c'est elle qui bug !) :
Je débute en php/mysql et j'aimerais bien corriger ce petit problème !
Le problème est que après avoir lancé la recherche, j'arrivhe sur une jolie page blanche !
Alors que tout le texte est mit dans le code source !
Aider moi ! S'il vous plait !
Merci a ceux qui m'aideront !
                
            
                
    
    
    
        J'ai un petit problème avec mon site, voilà tout :
Je veux créer une fiche membre avec une recup des infos après avoir entré le pseudo du membre cherché !
Page de recherche (Fonctionnelle mais bon ^^) :
<title>Document sans titre</title>
<style type="text/css">
<!--
body {
	background-color: #5DBEF5;
}
-->
</style></head>
<body>
<div align="center">
  <form enctype="multipart/form-data" action="fichemembre.php3" method="post">
  <p align="center">Veuillez entrer le pseudo du membre :</p>
  <div align="center">
    <input type="text" name="pseudo" value="" size="32">
     <input type="submit" value="Voir sa fiche !">
  </div>
  <p align="center"> </p>
</body>
</html>
Page d'arrivé (avec les infos du membre, c'est elle qui bug !) :
<?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
 
 while ($donnees = mysql_fetch_array($reponse) )
{
?>
<title>Fiche du Membre</title>
<style type="text/css">
<!--
body {
	background-color: #5DBEF5;
}
-->
</style></head>
<body>
<div align="center">
  <table border="1" cellspacing="0" cellpadding="0">
    <tr>
      <td width="96" height="96" rowspan="4" valign="top"><p><img src="/avatar/"<?php $donnees['avatar']; ?>".jpg"></p></td>
      <td width="503" height="24" valign="top"><p>Pseudo : <?php $donnees['login']; ?></p></td>
    </tr>
    <tr>
      <td width="503" height="24" valign="top"><p> E-mail : <?php $donnees['email']; ?></p></td>
    </tr>
    <tr>
      <td width="503" height="24" valign="top"><p>Nom : <?php $donnees['nom']; ?></p></td>
    </tr>
    <tr>
      <td width="503" height="24" valign="top"><p>Prenom : <?php $donnees['prenom']; ?></p></td>
    </tr>
  </table>
</div>
</body>
</html>
<?php
}
 
mysql_close(); // Déconnexion de MySQL
?>
Je débute en php/mysql et j'aimerais bien corriger ce petit problème !
Le problème est que après avoir lancé la recherche, j'arrivhe sur une jolie page blanche !
Alors que tout le texte est mit dans le code source !
Aider moi ! S'il vous plait !
Merci a ceux qui m'aideront !
        A voir également:         
- [Php/MySql] Page blanche !
- Supprimer page blanche word - Guide
- Imprimer tableau excel sur une page - Guide
- Page d'accueil - Guide
- Page accueil iphone - Guide
- Mysql community server - Télécharger - Bases de données
9 réponses
                        
                    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
                        
                    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
                        
                    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.
    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 ???
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    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
                        
                    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
                        
                    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
    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.
 
    
    
    
    
Sinon voici mon nouveau 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 while ($donnees = mysql_fetch_array($reponse) ) { ?> <title>Fiche du Membre</title> <style type="text/css"> <!-- body { background-color: #5DBEF5; } --> </style> <?php $pseudo = $_GET['pseudo']; $email = $_GET['email']; $avatar = $_GET['avatar']; $nom = $_GET['nom']; $prenom = $_GET['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 ?>Merci de m'aider !