| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
Steph012 Nouveau WRInaute
Inscrit le: 16 Avr 2007 Messages: 40
|
Posté le : Mar Mai 15, 2007 22:27 Sujet du message: Communication PHP <-> base de donnée |
|
|
Bonjour à tous,
Je ne comprends vraiment pas ... je souhaite à partir de mon application flash communiquer avec ma base de donnée, pour cela j'utilise le php.
Je vais ajouter du code actionscript ici alors j'espère ne pas me tromper de forum, mais je pense que mon pb est dans le php.
L'idée est de faire une requete sql pour récupérer l'id d'un utilisateur.
Dans l'exemple le userename (utilisateur) se nomme "Gourde" et je souhaite récupèrer son id.
J'ai une base de donnée tout simple avec 2 champs
nom de la base : users
nom du champ1:usename
nom du champ2:userid
Voici le code coté actionscript:
| Code: |
PhpObject.username="Gourde";
PhpObject.userid="";
PhpObject.onLoad=function(success){
if(success){
if(this.error != undefined){
trace("DB error sent by php");
}
else{
New_Username = PhpObject.username;
New_id = PhpObject.userid;
trace("DB connection database OK");
}
}
else{
trace("DB failed php connection");
}
}
PhpObject.sendAndLoad("http://myip/myphp.php",PhpObject,"POST");
|
Et voici donc le code coté php (myphp.php)
| Code: |
if(!empty($_POST['username'])){
$res=mysql_query("SELECT username FROM users WHERE username='".$_POST['username']."'") or die("&error=".mysql_error()."&"); if(mysql_num_rows($res)==1){
$row=mysql_fetch_object($res);
// ENVOIE LA VALEUR DE L'ID DANS FLASH
echo "&userid=".$row->userid."&";
}
else{
echo "&error=User/pwd invalide&";
}
}
else{
echo "&error=Vous devez fournir le user et le pwd&";
}
|
Donc si j'explique un peu le code comme je l'ai compris. A partir du code actionscript, on initialise le username recherché à Gourde.
| Code: |
| PhpObject.username="Gourde" |
Cette valeur sera transmise par le sendandload à la fin du code actionscript.
Coté php, on exécute la requete sql et on renvoie la valeur de l'id normalement lu à l'actionscript par l'"echo"
| Code: |
| "&userid=".$row->userid."&"; |
row->userid : étant le nom du champ dans le base donnée
userid : étant le nom de lavaribale coté actionscript
Cette valeur est sauvegardée dans la variable New_id, enfin normalement car là je ne vois rien ...
Pourquoi la requete sql ne me permet pas de lire la valeur de l'id ? Vous trouvez une erreur de raisonnement ? une erreur d'implémentation ?
J'espère avoir été clair, demandez moi svp plus de précisions si nécessaire.
Merci beaucoup beaucoup
Steph (pas simple les débuts .. grrr) |
|
| |
|
 |
reglysse WRInaute occasionnel

Inscrit le: 19 Avr 2006 Messages: 137 Localisation: Paris
|
Posté le : Mer Mai 16, 2007 11:34 Sujet du message: Communication PHP <-> base de donnée |
|
|
Ta requête SQL ne renvoie pas le "userid".
Il faut la modifier :
| Code: |
$res=mysql_query("SELECT username, userid FROM users WHERE username='".$_POST['username']."'") or die("&error=".mysql_error()."&");
|
Il y a peut-être d'autres bugs mais déjà tu peux tester comme ça. |
|
| |
|
 |
Steph012 Nouveau WRInaute
Inscrit le: 16 Avr 2007 Messages: 40
|
Posté le : Mer Mai 16, 2007 18:52 Sujet du message: Communication PHP <-> base de donnée |
|
|
reglysse, merci vraiment beaucoup je ne pensais vraiment pas qu'il était nécessaire d'ajouter le userid dans le requete sql, j'avais mal compris.
Grace à toi, mon application fonctionne, il semble que c'était le seul bug
Encore merci
Steph |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
Définitions :
|
|