Tom's Guide > Forum > Programmation > Probleme espace membre...
Mot :    Pseudo :           
 

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 :

Citation :

<?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... :fou:
Merci a tous!

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

webeuros a écrit :


Je n'arrive pas a comprendre... :fou:



normal, a premiere vu tu as copié des bouts que tu trouvais par ci par la, sans savoir à quoi ca servait, non?

Répondre à okinou

Tu peut deja retirer la boucle qui n'est pas util car je pense qu'il na qu'un seul age le mec ;)
Donc essai ca :

Code :
  1. <?php 
  2. session_start();
  3. mysql_connect("***", "***", "***" );
  4. mysql_select_db("***" ); 
  5. $pseudo = ($_POST['pseudo']);
  6. $reponse = mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo'" ); 
  7. $donnees = mysql_fetch_array($reponse); 
  8.  
  9. ?> 
  10. <p> 
  11. <strong>Mes données</strong> : <?php echo $donnees['categorie']; ?><br /> 
  12. <?php echo $donnees['pseudo']; ?>, <?php echo $donnees['age']; ?> <br /> 
  13. </p> 
  14. <?php 
  15. mysql_close(); // Déconnexion de MySQL 
  16. ?>



Essai de fer un echo de $pseudo pour voir s'il y a quelque chose dedans au cas ou.

------------------------------ La parole est d'argent mais le silence est d'or
Répondre à DivX_666

Ohhh Okinou tout de suite xD, tu es dur tout de meme lol ^^

------------------------------ La parole est d'argent mais le silence est d'or
Répondre à DivX_666

Merci!
Euh..
Maintenant la page est plus blanche, il y a juste écrit "mes donnees" en gras, pourtant j'ai bien vérifié, les champs sont bons... :??:

Encore merci!

Ps:surement erreur de frappe "{" ligne 17..

Répondre à webeuros

Oups enleve le } au dessus mysql_close

------------------------------ La parole est d'argent mais le silence est d'or
Répondre à DivX_666

allons divx, on va explorer son "fameux code":

 


2. session_start(); > à quoi il sert ici ? il n'utilise aucune variable de session

 

5. $pseudo = ($_POST['pseudo']); > à quoi servent les () ?

 

6. $reponse = mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo'" ); > selectionner des infos d'un membre juste via son pseudo est une faille énorme, il faut aumoins l'authentifier via son login(pseudo) + son mot de passe (crypter, je précise, au cas ou...), en gros, rajouter une seconde clause (AND).

 


17. } > ? ou est l'ouverture de l'accolade ?, soit il fait la boucle, ou il ne l'a fait pas, mais pas à moitié.

 

ce qui se résume à dire ce que j'ai dis plus haut, il n'y connait rien, aucune base de logique, et ne sais pas du tout à quoi sert ce qu'il à écrit.

 

j'en reviens donc sur phpdebutant.org à droite, et à les faire un part un, enjoy !

 


edit: si jamais tu as pondu ça, suite à un tutorial sur un site, FUIS LE.


Message édité par okinou le 25-07-2007 à 20:21:03
Répondre à okinou

lol je reconnai . . .
par contre pour la derniere erreur si tu a regarder sur le code que j'ai poster, j'ai oublier de la retirer, si c'est sur son code c'est la boucle while ;)

------------------------------ La parole est d'argent mais le silence est d'or
Répondre à DivX_666

Merci! comment dois on faire pour ajouter une seconde close?
Ps: Merci pour l'exploration, c'est avec les erreurs critiquées et corrigées qu'on avance...

Répondre à webeuros

ha oui pardon, l'accolade était bonne ;)

Répondre à okinou

Une seconde close ? je voit pas ce que tu veut dire

Citation :


edit: si jamais tu as pondu ça, suite à un tutorial sur un site, FUIS LE.


Mdr +1 ^^

------------------------------ La parole est d'argent mais le silence est d'or
Répondre à DivX_666

on avance en essayant de comprendre, pas en écrivant n'importe quoi.
ici tu attends que l'on corrige ta merde à ta place afin d'avoir la solution sans te cassé la tete, chose que je ne ferais pas, je laisse libre à divx de le faire si cela lui dit, moi je t'oriente sur phpdebutant.org non pas pour te faire chier, mais pour avoir un minimum de connaissance et de base sur le mysql, surtout que dessus, tu as 24 tutorial, dont plusieurs pour les requetes avec des clauses where, and, or etc...et une explication sur l'espace membre en pratique, qu'est ce qu'il te faut de plus ?

tu en ais au stade d'un gars qui veut faire de la 3D alors qu'il n'y connait rien, et qui veut réaliser shrek en 5 min.

Répondre à okinou

une seconde clause pas close. en plus il recopie mal.
bref, pour ma part, je m'arrete ici. amuse toi bien divx.


Message édité par okinou le 25-07-2007 à 20:26:04
Répondre à okinou

Je pense qu'Okinou a bien resume la situation.

Ce qu'il faut c'est que tu apprenne un minimum.
Bon courage

------------------------------ La parole est d'argent mais le silence est d'or
Répondre à DivX_666

ca va me saouler d'expliquer ;)
Bon,
je te donne ce que tu dois faire :
1. Connexion à la bdd
2. Prendre tout dans la bdd où pseudo et pass = pseudo
3. utiliser mysql_fetch_array
3. Si tout est ok afficher les données (pas besoin de boucle vu que t'a un seul pseudo ...)
4. Si non dire qu'il y une erreur
5. Dans tous les cas fermer la bdd

Va lire des tutos sur le SDZ ou sur phpdebutant,
bonne chance


Message édité par fclm le 25-07-2007 à 20:34:35
Répondre à fclm
Tom's Guide > Forum > Programmation > Probleme espace membre...
Aller à :

Il y a 339 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens