Probleme bizar...

Signaler
Messages postés
46
Date d'inscription
samedi 17 avril 2004
Statut
Membre
Dernière intervention
23 septembre 2006
-
Messages postés
46
Date d'inscription
samedi 17 avril 2004
Statut
Membre
Dernière intervention
23 septembre 2006
-
Voila, j'ais créé un formulaire permettant aux memebres de mon site demodifier leurs info, j'ais donc fais une requete SQL pour que dans les champs les infos actuelles s'affichent, et il y a un probleme.... J'ais commenter ce code pr que vous compreniez mon systeme. :::

<?
// lors du login, mes membres recoivent une id permettan
//d'identifier leur logo, elle se trouve dans une session, le
//probleme ne vient pas de la c'est sur.
$userid = $_SESSION["userid"];

//connection au serveur MySQL
$db = mysql_connect('localhost', psedo, 'mot de passe');

//Conection a la base de donnée
mysql_select_db('test',$db);

//requete
$sql = "SELECT id, pseudo, age, ville, mdp, prenom, email, emailp, msn, url FROM user WHERE id='$userid'";

//envoi de la requete
$req = mysql_query($sql) or die('Erreur SQL :
'.$sql);

//creation du formulaire
echo'
<form action="profil-sql.php" method="post">'.$data[pseudo].' --> Mon profil : |

----

>Votre pseudo : ,

,

----

>Votre MDP : ,
,

----

>Prénom : ,
,

----

>Age :,
,

----

>Ville :,
,

----

>Email : ,
,

----

>Email (public) :,
,

----

>MSN (public) :,
,

----

>Site Web : ,

,

----

Profil | Préférences | Déconnexion

</form>';

?>

VOila et le probleme c'est que quand j'accede a ma page ca me met ces erreurs :

Notice: Undefined variable: data in c:\easyphp1-7\www\test\profil.php on line 41

Notice: Use of undefined constant pseudo - assumed 'pseudo' in c:\easyphp1-7\www\test\profil.php on line 45

Notice: Undefined variable: data in c:\easyphp1-7\www\test\profil.php on line 45

Notice: Use of undefined constant mdp - assumed 'mdp' in c:\easyphp1-7\www\test\profil.php on line 54

Notice: Undefined variable: data in c:\easyphp1-7\www\test\profil.php on line 54

Notice: Use of undefined constant prenom - assumed 'prenom' in c:\easyphp1-7\www\test\profil.php on line 58

Notice: Undefined variable: data in c:\easyphp1-7\www\test\profil.php on line 58

Notice: Use of undefined constant age - assumed 'age' in c:\easyphp1-7\www\test\profil.php on line 62

Notice: Undefined variable: data in c:\easyphp1-7\www\test\profil.php on line 62

Notice: Use of undefined constant ville - assumed 'ville' in c:\easyphp1-7\www\test\profil.php on line 66

Notice: Undefined variable: data in c:\easyphp1-7\www\test\profil.php on line 66

Notice: Use of undefined constant email - assumed 'email' in c:\easyphp1-7\www\test\profil.php on line 70

Notice: Undefined variable: data in c:\easyphp1-7\www\test\profil.php on line 70

Notice: Use of undefined constant emailp - assumed 'emailp' in c:\easyphp1-7\www\test\profil.php on line 74

Notice: Undefined variable: data in c:\easyphp1-7\www\test\profil.php on line 74

Notice: Use of undefined constant msn - assumed 'msn' in c:\easyphp1-7\www\test\profil.php on line 78

Notice: Undefined variable: data in c:\easyphp1-7\www\test\profil.php on line 78

Notice: Use of undefined constant url - assumed 'url' in c:\easyphp1-7\www\test\profil.php on line 82

Notice: Undefined variable: data in c:\easyphp1-7\www\test\profil.php on line 82

Voila, en esperant que vous pourrez m'aider, merci ;)

7 réponses

Messages postés
249
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
28 août 2009

Essaye en mettant cette chaine SQL

"SELECT id, pseudo, age, ville, mdp, prenom, email, emailp, msn, url FROM user WHERE id='" . $userid . '";

en fait tu dois CONCATENER la chaine pour qu'il prenne la variable UserID sinon y recherche WHERE id=$userid et non la valeur que contient $userid

Voila, je pense que le probleme vient de la

********************************
On a parfois de la chance dans son malheur. Moi par exemple je me suis blessé avec une boîte de sparadraps. (Phillipe GELUCK)

Mail: magidev@hotmail.com
Msn: magidev@hotmail.com
Messages postés
46
Date d'inscription
samedi 17 avril 2004
Statut
Membre
Dernière intervention
23 septembre 2006

Apperemment le probleme ne vient pas de la, car le resultat est le meme, et de tt facon c sur que c pas ca sinon ca dirai :
SELECT id, pseudo, age, ville, mdp, prenom, email, emailp, msn, url FROM user WHERE id=dfgfgr
jai taper nimporte koi pr la demonstration :)

Merci quand meme, mais le probleme n'est pas la...
Messages postés
249
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
28 août 2009

Il ya a plusieurs erreurs

D abord <?php session_start();?> est manquant en debut de code

en suite il faut des guillemets pour la variable $data['mdp'] et non $data[mdp]

et DATA n'est pas juste, elle n'existe pas dans ton code
tu as oublié une ligne apres
la ligne

>> $req = mysql_query($sql) or die('Erreur SQL :
'.$sql);

TU DOIS AJOUTER CETTE LIGNE JUSTE EN DESSOUS DE CELLE CI-DESSUS :

>> $row_req = mysql_fetch_assoc($req);

Ensuite et seulement maintenant tu peux recuperer tes donnes de ta base

en mettant $row_req['mdp']

et non $data et ne pas oublier les guillement. Ca devrai marcher

maintenant

********************************
On a parfois de la chance dans son malheur. Moi par exemple je me suis blessé avec une boîte de sparadraps. (Phillipe GELUCK)

Mail: magidev@hotmail.com
Msn: magidev@hotmail.com
Messages postés
46
Date d'inscription
samedi 17 avril 2004
Statut
Membre
Dernière intervention
23 septembre 2006

Non, le demarage de la session n'était pas manquant, c'est juste que j'avais oublier de le poster.

Sinon, ca ne marche que si je met $row_req[mdp], avec les guillemets ereur :
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

Mais le plsu important c'est que ca merche !
Un grands merci a toi (et a vous) de m'avoir aider a resoudre mon probleme ;)
Messages postés
48
Date d'inscription
vendredi 14 juin 2002
Statut
Membre
Dernière intervention
9 août 2009

Dans ton fichier php.ini, repere la ligne register_globals = Off (ou On mais dans ton cas elle doit être à off). Change la valeur en On. Attention, il y a deux lignes ou register_globals apparait, l'une en commentaire l'autre non. Change celle qui n'est pas en commentaire. Il est conseillé de laissé cette valeur à Off pour des raisons de sécurité, mais cela évitera de devoir passer par $row_req.
----fab30----
Messages postés
42
Date d'inscription
samedi 15 février 2003
Statut
Membre
Dernière intervention
14 mars 2008

salut

s ke ton erreur vient de la ou c'est que tu as oublié les quotes

$db = mysql_connect('localhost', psedo, 'mot de passe');

au niveau de psedo il faut metre des quotes

pt est-ce que ca vient de la, mais ans les numero de ligne on ne voit pa d'ou ca vient

Souvent on dit : "On n'a que l'embarras du choix", moi je dis on a le choix de l'embarras.
Messages postés
46
Date d'inscription
samedi 17 avril 2004
Statut
Membre
Dernière intervention
23 septembre 2006

Non, mais mon probleme a été réglé grace a magidev, ne cherchez plus, c bon !
J'ais rajouter la ligne >> $row_req = mysql_fetch_assoc($req);
Et j'ais remplacer mes data par : $row_req[mdp] et ca a marcher !

ps : sinon, les quotes autour de psedo, jai du les enlever quand jai remplacer mon pseudo par "pseudo", pr pas que vous le voyiez ;-) !