Applet qui remplie des varibles php avec la méthode Post [Résolu]

Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
- - Dernière réponse : cs_avg
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
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
Afficher la suite 

Votre réponse

20/25 réponses

Meilleure réponse
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
3
Merci
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

Merci cs_DARKSIDIOUS 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 103 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
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);
Commenter la réponse de cs_avg
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
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
Commenter la réponse de cs_avg
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
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
Commenter la réponse de cs_avg
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
comment je peut récupèrer le flux renvoyé par mon serveur php en retour de ma requête...
Commenter la réponse de cs_avg
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
est-ce-qu'il faut une méthode qui actualise la page php avec le code java de l'Applet
Commenter la réponse de cs_avg
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
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
Commenter la réponse de cs_avg
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
désolé c'est Dieu pas dieux
Commenter la réponse de cs_avg
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
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.
Commenter la réponse de cs_avg
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
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.
Commenter la réponse de cs_avg
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
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
Commenter la réponse de cs_avg
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
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
Commenter la réponse de cs_avg
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
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");
Commenter la réponse de cs_avg
Messages postés
97
Date d'inscription
lundi 5 novembre 2007
Dernière intervention
20 août 2011
0
Merci
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);
Commenter la réponse de cs_avg

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.