#1 Le 22/11/2007, à 17:24
- dialloma
Communication avec un serveur PHP !!!
Bonjour à tous,
J'ai un soucis avec PHP. Je ne connais pas trop ce langage mais comme tous les langages coté serveur, il doit y avoir un moyen d'envoyer des données à une application cliente. Moi je fais une application cliente GWT qui doit dialoguer avec un serveur PHP. Et ce serveur, quand il reçoit des requêtes du client, fait des calculs et renvoie une réponse au client. Ma question est que qu'elle est la fonction PHP que je pourrait utilisé pour la faire. Si vous avez un exemple PHP qui reçoit une requête cliente, travaille avec l'URL, fais des calculs et renvoie la réponse au client. Oubien s'il n'y a pas d'exemple, dites moi juste quelles fonctions PHP pourrai-je utiliser.
Merci d'avance
dialloma
Hors ligne
#2 Le 22/11/2007, à 18:53
- mtgrpg
Re : Communication avec un serveur PHP !!!
PHP communique par HTTP, et peut récupérer des informations dans les requêtes qu’on lui envoie grà¢ce à la variable $_REQUEST, qui contient tous les champs d’un formulaire et toutes les données présentes dans l’URI (après le “?†et avant le “#â€).
Par contre, quand il est sur un serveur web (cas le plus courant, je pense), il ne peut pas décider d’envoyer des informations au client. Il ne peut que répondre aux requêtes HTTP qu’on lui envoie…
Dernière modification par mtgrpg (Le 22/11/2007, à 18:56)
^[:wq
Help!
Hors ligne
#3 Le 23/11/2007, à 11:02
- dialloma
Re : Communication avec un serveur PHP !!!
Oui j'ai utilisée cette variable, mais j'ai du alors mal l'utiliser. Je n'ai pas ce que je veux. Bien sûr je parle de la réponse du serveur au client. Quand le client envoie un requete au serveur pour lui demander quelque chose, comment le serveur lui dit voici ce que tu m'as demandé. J'ai juste envie d'un exemple. Merci
Hors ligne
#4 Le 23/11/2007, à 11:14
- azimuth024
Re : Communication avec un serveur PHP !!!
exemple : fichier reponse.php
<?php
$var1 = $_GET['variable'];
echo $var1;
?>
Si tu appelles la page http://localhost/reponse.php?variable=Hello
Le serveur te renvoie le paramètre "variable" que tu as passé dans l'URL, dont la valeur est Hello (dans notre exemple).
Dernière modification par azimuth024 (Le 23/11/2007, à 11:14)
Hors ligne
#5 Le 23/11/2007, à 12:03
- dialloma
Re : Communication avec un serveur PHP !!!
azimuth024,
Je te remerci beaucoup pour ta réponse; mais tu vois je développe une application. le client est GWT, et le serveur PHP. Donc si c'est vrai que si je tappe dans la barre des titre d'un navigateur http://localhost/reponse.php?variable=Hello , il m'affiche bien la valeur du paramètre variable. Mais ce n'est pas ce que je voulais, je veux aufait qu'il m'envoie la valeur de la variable à l'application cliente qui lui intérogger. Par exemple si j'ai une application Web qui demande une authentification. quand un utilisateur demande à se connecter, une requête est envoyée au serveur (ici PHP), qui vérifie bien que cet utilisateur existe et que ses coordonnées sont correctes, ensuite renvoie une réponse au client en disant oui c'est OK. En java/J2EE, on peut envoyer une réponse à un client, en écrivant dans une variable Response. C'est quelque chose comme ça qu'il me faut. J'espère que je me suis bien exprimé.
Merci pour vos aides
Hors ligne
#6 Le 23/11/2007, à 12:35
- hello_world
Re : Communication avec un serveur PHP !!!
Hello
Par exemple si j'ai une application Web qui demande une authentification. quand un utilisateur demande à se connecter, une requête est envoyée au serveur (ici PHP), qui vérifie bien que cet utilisateur existe et que ses coordonnées sont correctes, ensuite renvoie une réponse au client en disant oui c'est OK.
Je n'ai pas vraiment l'impression qu'un seveur php va te répondre que l'authentification s'est bien déroulée, ton ordi n'a pas besoin de le savoir! Il va te renvoyer une page différenre si l'authentification s'est bien déroulée ou si elle s'est mal déroulée. Le client de reçoit donc au final qu'une page html!
Un serveur php ne fait que fabriquer une page html d'après les informations reçue, et la renvoyer au client. Il ne renvoie à ma connaissance rien d'autre.
++
Hors ligne
#7 Le 23/11/2007, à 15:23
- dialloma
Re : Communication avec un serveur PHP !!!
hello_world,
merci pour ton intervention. tu sais je ne connais pas trop PHP, c'est pourquoi je raisonne un peu comme un programmeur Java. Je n'ai besoin que de quelques fonctions PHP pour réaliser une petite application comme je l'ai expliqué dans mes précédents messages. J'explique un peu le fonctionnement de mon appli: quand je la lance, la page HTML arrive avec une fenêtre o๠on peu taper un login et un mot de passe. Cette petite fenêtre est au premier plan, elle masque donc la vraie page qui d'ailleurs ne s'affiche correctement que lorsqu'un bon utilisateur est connecté, c'est à dire quand son login et mot de passe sont correctes. Donc c'est pourquoi quand j'envoie ma requête au serveur, j'ai besoin de savoir que tout s'est bien passé. Je précise que le client est fait en GWT. Donc client et serveur sont totallement indépendant. C'est pourquoi je avoir quelque chose venant du serveur pour me dire que la requete a été bien traité, et c'est seulement en ce moment que la vraie page s'affiche avec les bonnes informations c'est à dire celles relatives à l'utilisateur connecté. Je sais le faire en php + html c'est à dire sans GWT.
J'ai quand même reflechi à 2 solutions possibles:
1) faire un formulaire html dans laquel je demande l'authentification, si OK j'affiche ma page de l'application GWT. Avec cette solution, je desactiverai mon ancienne fenête qui était faite avec GWT vu que je la remplace par le formulaire.
2) Faire deux applications GWT. Une qui me sert juste à me connecter, c'est à dire elle ne contiendra que la fenêtre d'authentification. Si l'authentification est OK, je lance la deuxième, cette foici encore sans la fenêtre d'authentification vu qu'elle etait déja dans la première application.
Je pense que la première solution est bien adaptée. ça revient presque à faire la même chose vu que GWt aussi me retourne du HTML. Mais vu que je suis débutant, je préfère toujours avoir l'avis des pro en programmation.
merci de vos aides
dialloma
Hors ligne
#8 Le 23/11/2007, à 15:33
- azimuth024
Re : Communication avec un serveur PHP !!!
La réponse que tu souhaites, c'est ce qui est affiché dans ton navigateur. A part les entetes HTTP. L'instruction echo envoie sur le flux de sortie les caractères envoyés par echo. Pour répondre à hello_world, ça peut renvoyer du HTML, du XML, n'importe quoi en fait, c'est toi qui construit la sortie.
En PHP ça donne :
fichier authentification.php
<?php>
$bonlogin= 'maman';
$bonpwd = 'papa';
$login = $_GET['login'];
$pwd = $_GET['pwd'];
if ($login == $bonlogin && $pwd==$bonpwd) $reponse = 'Bon' else $reponse = 'Mauvais';
echo $reponse;
?>
http://localhost/authentification.php?login=maman&pwd=papa
Bon
http://localhost/authentification.php?login=arthur&pwd=montagne
Mauvais
Dernière modification par azimuth024 (Le 23/11/2007, à 15:35)
Hors ligne
#9 Le 23/11/2007, à 16:12
- hello_world
Re : Communication avec un serveur PHP !!!
Hello,
oui c'est claire, on peut construire n'importe quel fichier texte. J'ai été un peu vite.
++
Hors ligne
#10 Le 23/11/2007, à 23:07
- mtgrpg
Re : Communication avec un serveur PHP !!!
Je viens de regarder ce que c’est que “GWTâ€. Et j’ai vu passer le mot “AJAXâ€. Donc il doit bien y avoir dedans une méthode pour envoyer des requêtes à un serveur à analyser sa réponse ? Et même pour obtenir carrément un bel arbre XML facile à utiliser ?
à€ partir de là , il suffit que le script PHP fourre toutes les données qu’il doit envoyer dans un arbre XML…
Pour communiquer on peut aussi utiliser les en-têtes, en stockant une variable dans chaque en-tête………
Pour tous les détails sur HTTP, regardes ici : http://www.ietf.org/rfc/rfc2616.txt
Et ici pour construire l’arbre sur le serveur : http://fr2.php.net/manual/fr/ref.dom.php
Dernière modification par mtgrpg (Le 23/11/2007, à 23:08)
^[:wq
Help!
Hors ligne