IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

probleme de GWT et PHP ?


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de dialloma
    Homme Profil pro
    Java / J2EE, PHP
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Java / J2EE, PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Par défaut probleme de GWT et PHP ?
    salut à tous,

    Je fais une application cliente GWT qui doit communiquer avec un serveur PHP, mais j'ai des problèmes d'établissement de la connexion. J'ai utilisé la classe HTTPRequest mais ça ne marche pas du tout. J'ai utilisé la méthode asyncPost mais elle me retourne false. J'ai également utilisé la classe RequestBuilder, cette dernière me retourne une erreur qui parle de "....same origin domain.....". Au fait, mon serveur apache qui contient mes scripts php tourne sur localhost, et sur le port 80, alors que GWT tourne sur le port 8888 mais toujours sur localhost. Comme les deux ports ne sont pas les mêmes, ce qui fait que ça ne marche pas. Je pense que tout le problème vient de là. Comme ce sont des requêtes AJAX, elles ne peuvent que dialoguer avec un code qui se trouve sur le même serveur que l'application GWT. Et dans GWT c'est donc certainement même HOST et même PORT. Hors c'est pas les mêmes ports.
    que dois je faire à votre avis s'il vous plaît ?

    Changer le port de apache ? Je pense que si je le change, je ne pourrai pas lancé GWT, c'est à dire exécuter mes programmes GWT car GWT me dira que le port 8888 est déjà utilisé par une autre application.

    Je vous mets mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Button b = new Button("Request");
    b.addClickListener(new ClickListener(){
     
    	public void onClick(Widget sender) {
    		String url = "http://localhost/php/connexion.php?action=connect&login=dialloma&pass=xxxx";
    		boolean good = HTTPRequest.asyncPost(url, "données envoyées depuis le client", new ResponseTextHandler(){
     
    			public void onCompletion(String responseText) {
    				Window.alert(responseText);
    			}
     
    		});
    		Window.alert(Boolean.toString(good));
    	}
     
    });
    RootPanel.get().add(b);
    N.B: le script connexion.php marche bien car si je tappe l'adresse http://localhost/php/connexion.php?a...loma&pass=xxxx
    dans le navigateur, la réponse est bien correcte. C'est à dire il n'y a pas d'erreur.

    Please aidez moi, c'est urgent.
    merci
    dialloma

  2. #2
    Membre actif Avatar de DrHelmut
    Homme Profil pro
    Software craftsman - JS, Java...
    Inscrit en
    Octobre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Software craftsman - JS, Java...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 117
    Par défaut
    C'est un peu tard pour tenter de trouver une solution mais qui sait..

    Visiblement, tu fais une requete de type GET, as-tu essayé avec la méthode HTTPRequest.asyncGet au lieu de asyncPost ?

  3. #3
    Invité de passage
    Inscrit en
    Janvier 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1
    Par défaut Réponse concréte
    apart le fait que la syntaxe de la fonction est fausse pour une requéte POST :
    boolean HTTPRequest.asyncPost(String URL,String parameters ,new XXResponseTextHandler());
    il y a un fait sur le couple GWT/PHP qu'il faut prendre en considération :
    méme si on effectue une requete post juste on ne pas intercepter les variable coté php avec la methode : $_POST["nom de la variable"] , faute fatale commise par les concepteurs.
    Ceci n'empéche qu'on pourrait faire une diversion coté php (une fonction que j'ai moi méme implémenté(PHP5)):

    function getPost($name){
    $posts = explode('&',file_get_contents("php://input"));
    foreach($posts as $post){
    if(ereg($name."=",$post))
    return(ereg_replace($name."=","",$post));
    }
    return(null);
    }

    ou bien tout simplement :
    parse_str( $HTTP_RAW_POST_DATA, $GLOBALS['_POST'] );
    ou bien faire une diversion coté GWT et implémenter une fonction qui remplacera "asyncPost" :
    http://groups.google.com/group/Googl...f572faee9347d7
    posté par l'un des membre de ce groupe

Discussions similaires

  1. Réponses: 14
    Dernier message: 24/08/2006, 18h12
  2. A l'aide svp j'ai de gros problemes sur un script php
    Par schtek2 dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2006, 01h25
  3. probleme de connection avec PHP
    Par i_shinji dans le forum Installation
    Réponses: 1
    Dernier message: 03/03/2006, 12h07
  4. Problèmes de compilation de php 5
    Par spynux dans le forum Linux
    Réponses: 2
    Dernier message: 21/12/2005, 16h31
  5. [MySQL] probleme requete sql et php
    Par digger dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 10/10/2005, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo