Probleme zone membre

Bonjour,;)
Je souhaite créer sur mon site un espace membre dans lequel l'utilisateur peux voir ses informations...
J'ai crée un script mais il ne marche pas, pas de message d'erreur mais pages blanche...:(
Voici le code :
<?php 
session_start();
mysql_connect("***", "***", "***");
mysql_select_db("***");  
$pseudo = ($_POST['pseudo']);
$reponse = mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo'");  


while ($donnees = mysql_fetch_array($reponse) ) 
{ 
?> 

<p> 
<strong>Mes données</strong> : <?php echo $donnees['categorie']; ?><br /> 
<?php echo $donnees['pseudo']; ?>, <?php echo $donnees['age']; ?> <br /> 
</p> 

<?php 
} 

mysql_close(); // Déconnexion de MySQL 
?>

Je n'arrive pas a comprendre...:(
Merci a tous!
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut
    J'en suis pas sûr, mais teste ceci:
    Ne ferme pas les balises php <?php ?> si tôt à cause de la portée de tes variables.
    Si tu veux écrire du html dans la balise php, tu utilises echo "<strong>Mes donnees</strong>". $_POST['categorie']

    Sinon, attention à la sécurité de ton script. N'utilise jamais une variable définie par un utilisateur telle quelle. Utilise plutôt :
    $categorie = mysql_real_escape_string(htmlspecialchars($_POST['categorie']));

    Tiens moi au courant, si la fermeture prématurée de ta balise php était ton problème ou pas.

    Cordialement
    1. La portée des varaibles n'est pas conditionée par les balises <?php

      essayes:

      $reponse = mysql_query("SELECT * FROM membres WHERE pseudo='".$pseudo.'" ");

      simple quote puis double quote avant pseudo et l'inverse après

      et $pseudo = $_POST['pseudo'];
      1. Contributeur
        Oui, en effet petite erreur de ma part.

        Par contre n'oublie pas d'utiliser mysql_real_escape_string et htmlspecialchars. ;)

        Cordialement