Applet qui remplie des varibles php avec la méthode Post

Résolu
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011 - 13 avril 2010 à 13:24
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011 - 14 avril 2010 à 13:56
Bonjour à tous,

j'ai une Applet que je veut envoyer des parametres avec post à un code php j'ai utiliser la méthode
Code :
PostMethod post = new PostMethod(url de page php encodé);mais rien ne change dans ma page php
est-qu'il y a une méthode qui actualise la page avec java pour que les parametres sera requis par php ?


Code :

HttpClient client = new HttpClient();
PostMethod post = new PostMethod(myURL2.getProtocol()+"://"+myURL2.getHost()+myURL2.getPath());
//************************
NameValuePair[] data = {
new NameValuePair("login", ids),
new NameValuePair("password", ids),
};

post.setRequestBody(data);

//************************
//post.addParameter("login", ids);
//post.addParameter("password",ids);
client.executeMethod(post);mais sans résulat
Merci pour toute personne qui veut m'aider
A voir également:

25 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
14 avril 2010 à 11:26
Salut,

C'est bizarre, normalement la session devrait être conservée. A moins que le serveur php différencie le contexte de l'applet de celui du navigateur, et du coup, ouvre 2 sessions.

Là je sèche.

Est-ce que tu peux lancer ta requête (envoyée par l'applet) et get au lieu de post ?

Sinon, j'ai bien des idées de bidouilles mais bon, c'est guère optimal :
Enregistrer en base de données les données de session (plutôt qu'en session), et renvoyer à l'applet l'id de la base de données. Et lors de la redirection par l'applet, tu lui passes l'id de base de donnée, le serveur php remplie la session et détruit la ligne correspondante dans la table selon l'id passé.

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 13:30
HttpClient client = new HttpClient(); 
PostMethod post = new PostMethod(myURL2.getProtocol()+"://"+myURL2.getHost()+myURL2.getPath()); 
//************************ 
NameValuePair[] data = { 
new NameValuePair("login", ids), 
new NameValuePair("password", ids), 
}; 

post.setRequestBody(data); 

//************************ 
//post.addParameter("login", ids); 
//post.addParameter("password",ids); 
client.executeMethod(post);
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2010 à 13:39
Salut,

Essaye de faire une simple page php qui crée un fichier avec les paramètres reçu pour voir si ca marche.

Tu es sûr de l'url appelée ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 13:45
Salut Dark,

j'utilse une page qui affiche c'est parmétres s'il sont déja réquis avec php je teste avec
if(isset($_POST["login"]) && isset($_POST["password"]))
    {          echo "**".$_POST["login"]."**";
echo "**".$_POST["password"]."**";}

mais rien ne se produire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2010 à 13:48
Salut,

Ok, sauf que les echo de ta page php, il sont envoyés où ? Si tu fais des écho, tu envoie les données vers une nouvelle page html qui est renvoyé au navigateur. Dans ton code, je vois nulle part que tu récupère le flux renvoyé par ton serveur php en retour de ta requête...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 13:53
salut,

j'ai rien compris alors que moi je fait l'affichage de echo dans le code php de la même page oû mon Applet est lancer
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 13:56
comment je peut récupèrer le flux renvoyé par mon serveur php en retour de ma requête...
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 14:00
est-ce-qu'il faut une méthode qui actualise la page php avec le code java de l'Applet
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2010 à 14:33
Salut,

Aîe, tu n'as pas compris le principe du web : une requête HTTP est envoyée au serveur, celui-ci l'intercepte, la traîte, et remplit une page HTML statique qui est renvoyé au navigateur. Donc une fois que la page HTML est envoyée au navigateur, le serveur ne peut plus renvoyer de données. C'est au navigateur d'interroger de nouveau le serveur, et de rafraîchir si besoin la page (par javascript principalement).

Dans ton cas, tu as fait une requête HTTP au serveur (en tapant l'url dans la barre d'adresse de ton navigateur) qui t'a renvoyé une page contenant l'applet java. Le navigateur a alors renvoyé une requête pour télécharger le jar de ton applet, puis a exécuté celle-ci.
Ensuite, l'applet a envoyée une requête HTTP de type POST au navigateur (avec les paramètres), le serveur a traîté la requête, et renvoie en retour une page HTML contenant le texte produit par les echo php. seulement cette page HTML est renvoyée en flux vers ton applet, mais ton applet ne la traîte pas. Donc c'est normal que tu ne vois rien...

Je te conseille d'utiliser plutôt la classe HttpConnection plutôt que HttpClient qui te permettra de faire plus de chose (regarde surtout la fonction post...)

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 16:29
Salut cher dark,

Merci pour la précision vous étes très claire comme si un prophe m'eduque.
Mais une petite question :
Mois j'ai récupérer le inputStream depuis le serveur et ja tester avec
Dydtem.out.println()

Mais mois je veut afficher ce flux en tant que page php pour que le navigateur execute le retenue

Merci que dieux vous occupe
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 16:34
désolé c'est Dieu pas dieux
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2010 à 16:49
Salut,

Je crains que ca ne soit pas aussi simple alors !

Une fois que la page contenant l'applet est chargée, il ne faut surtout pas la recharger sinon tu perds ton applet.

La solution pourrait être de passer par AJAX pour ne rafraîchir qu'une bout de ta page, mais vu que c'est ton applet qui déclenche la requête, tu ne pourras pas le récupérer avec ajax...

C'est dans quel but que tu veux modifier la page HTML ? Ne serait-ce pas plus simple de l'afficher par l'applet plutôt ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 16:58
Salut,

Mon applet c'est une page d'identification alors une fois authentifier je ne suis pas besoins de cette Applet son rôle juste l'identification puis un site php que j'ai réalisé va fonctionner normalement.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2010 à 17:09
Salut,

Pourquoi ne pas faire l'authentification directement en PHP alors ?

Sinon, c'est à ton applet de faire la redirection vers une nouvelle page PHP à ce moment là.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 17:12
Salut,

est-ce-que je doit créer un fichier html avec l'inputstream recuperer de serveur mais oû je doit l'enregistrer car je ne peut pas ecrire sur le même emplacement que la page qui charge Applet c'est à dire sur le serveur d'hebergement alors est-ce-que je doit créer cette page de reponse dur le poste client.
si n'est pas le cas comment afficher cette input stream sur le navigateur comme page html est-ce-qu'il y a une méthode java qui me permet ça.
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 17:20
Salut,

Mon page d'identification utilise une pointeuse liée a l'ordinateur j'appele les fonctions qui récupére l'emprunt et verifie s'il est authentifier elle renvoie un identifiant tout ça à marché trés bien maintenant je veut que mon Applet avec cette identifiant ouvre la page d'Accueil en tat que authentifier mais le probléme ce que je doit remplire une session et ça pour que je puisse acceder au autres pages alors
-je doit envoyer l'identifiant en tant que paramétre à la page php qui va remplire la session et ouvrire un autre page.
Mon Probléme cette inputstream renvoyer de serveur comment l'executer sur le navigateur en tat que page html
Merci
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2010 à 18:15
Salut,

Ok, donc il faut qu'au retour de la requête HTTP envoyé au serveur (qui se chargera de remplir la session php), tu fasse une redirection vers une autre page :
this.getAppletContext().showDocument(new URL(url), "_self")


______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 19:05
Salut,

Mais ccet ligne de code m'a vider la session car mon site si session vide il retourne à index.php
alors que je veut que session reste enregistrer sur le navigateur.
je pense que je doit utiliser Coockie qui sera remplie coté site php ou Applet java? si je ne me trompe pas
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 19:08
voila le code mis à jour
myURL2=geturlencod(rr);
PostMethod post = new PostMethod(myURL2.getProtocol()+"://"+myURL2.getHost()+myURL2.getPath());
//************************
NameValuePair[] data = { 
          new NameValuePair("login", ids), 
          new NameValuePair("password", ids),         
         }; 	          
         post.setRequestBody(data); 
         client.executeMethod(post);
resp=post.getResponseBodyAsStream();
getAppletContext().showDocument(new URL("http://127.0.0.1/site isimm/ens/ens.php?p=cours"), "_self");
0
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
13 avril 2010 à 19:10
désolé
myURL2=geturlencod(rr);
PostMethod post = new PostMethod(myURL2.getProtocol()+"://"+myURL2.getHost()+myURL2.getPath());
//************************
NameValuePair[] data = {new NameValuePair("login", ids),new NameValuePair("password", ids),}; 
post.setRequestBody(data); 
client.executeMethod(post);
0
Rejoignez-nous