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

Windev Mobile Discussion :

HTTPRequête avec methode POST fonctionne sur android mais pas sur ios [WM20]


Sujet :

Windev Mobile

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Points : 150
    Points
    150
    Par défaut HTTPRequête avec methode POST fonctionne sur android mais pas sur ios
    Bonjour

    J'ai réalisé un fichier .php qui permet d'enregistrer des données sur notre serveur. Pour cela je passe des paramètre de type post au fichier

    voici le 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
     
    		ResLancement est un booléen = HTTPRequête(gsUrlWebEchangeol+"MonFichier.php","","","id="+clTransporteur:m_ftransporteur:IDEchangeEol+"&Nom="+clTransporteur:m_ftransporteur:Nom+"&Prenom="+clTransporteur:m_ftransporteur:Premon+...
    																						"&IdentifiantSaisie="+clTransporteur:m_ftransporteur:Identifiant+"&IdentifiantLogin="+clTransporteur:m_ftransporteur:IDentifiantLogin+"&TelSaisie="+clTransporteur:m_ftransporteur:tel+...
    																						"&TelDuTel="+clTransporteur:m_ftransporteur:TelDuTel+"&mail="+clTransporteur:m_ftransporteur:mail+"&Type="+clTransporteur:m_ftransporteur:TypeTransLib+"&version="+clTransporteur:m_ftransporteur:Version)
     
     
    		SI ResLancement = Vrai ALORS
    			nIdEchangeol est un entier=AnsiVersUnicode(HTTPDonneRésultat())
    			SI nIdEchangeol<>0 ALORS
    				clTransporteur:m_ftransporteur:IDEchangeEol=nIdEchangeol
    				clTransporteur:bModifietransporteur()
    			FIN
    		SINON
    			Erreur("Enregistre client : "+ErreurInfo())		
    		FIN
    et sur mon fichier .php

    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
     
    $id=$_POST['id'];
    	$Nom=$_POST['Nom'];
    	$Prenom=$_POST['Prenom'];
    	$IdentifiantSaisie=$_POST['IdentifiantSaisie'];
    	$IdentifiantLogin=$_POST['IdentifiantLogin'];
    	$TelSaisie=$_POST['TelSaisie'];
    	$TelDuTel=$_POST['TelDuTel'];
    	$mail=$_POST['mail'];
    	$Type=$_POST['Type'];
    	$version=$_POST['version'];	
     
    	if($Nom<>"")
    	{
             ....
             echo mysql_insert_id();
            }
    sur android, j'ai bien la ligne ajouter ou modifier dans la base et j'ai bien l'id en retour
    sur iOS, j'ai rien en base et donc aucune valeur de retour

    J'ai fait plusieurs essais et je ne comprends pas pourquoi cela ne fonctionne pas.
    Je ne sais pas quoi faire? Est ce que j'ai une erreur sur la HTTPRequête? Est ce que je dois le faire en objective C (je n'y connais rien, je suis débutant sur iOS)?

    Cordialement Law56100

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Essayez de passer tous vos paramètres dans une chaine ANSI. Puis ensuite, passer cette chaine dans le paramètre "Message" de httprequete.
    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
    19
    20
    21
    22
    23
    24
    25
     
    gsUrlWebEchangeol est une chaîne
    ResLancement est un booléen
    sParam est une chaîne ANSI =	"id="+clTransporteur:m_ftransporteur:IDEchangeEol+...
    								"&Nom="+clTransporteur:m_ftransporteur:Nom+...
    								"&Prenom="+clTransporteur:m_ftransporteur:Premon+...
    								"&IdentifiantSaisie="+clTransporteur:m_ftransporteur:Identifiant+...
    								"&IdentifiantLogin="+clTransporteur:m_ftransporteur:IDentifiantLogin+...
    								"&TelSaisie="+clTransporteur:m_ftransporteur:tel+...
    								"&TelDuTel="+clTransporteur:m_ftransporteur:TelDuTel+...
    								"&mail="+clTransporteur:m_ftransporteur:mail+...
    								"&Type="+clTransporteur:m_ftransporteur:TypeTransLib+...
    								"&version="+clTransporteur:m_ftransporteur:Version
     
    ResLancement = HTTPRequête(gsUrlWebEchangeol+"MonFichier.php","","",sParam)
     
    SI ResLancement = Vrai ALORS
    	nIdEchangeol est un entier=AnsiVersUnicode(HTTPDonneRésultat())
    	SI nIdEchangeol<>0 ALORS
    		clTransporteur:m_ftransporteur:IDEchangeEol=nIdEchangeol
    		clTransporteur:bModifietransporteur()
    	FIN
    SINON
    	Erreur("Enregistre client : "+ErreurInfo())		
    FIN

    Cordialement.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Points : 150
    Points
    150
    Par défaut
    Bonjour
    merci de ta réponse mais entre temps j'ai résolu mon problème en réalisant une procédure en objective.
    Dsl, je n'ai pas mis le post en résolu

    la réponse en objective c sous windev

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #import <Foundation/Foundation.h>
    #import <Foundation/NSObject.h>
     
    NSString *ObjectiveCPeceolClient(NSString *stFichierPhp, NSString *stid, NSString *stNom, NSString *stPrenom, NSString *stIdentifiantSaisie, NSString *stIdentifiantLogin,
    NSString *stTelSaisie, NSString *stTelDuTel, NSString *stmail, NSString *stType, NSString *stversion )
    {
     
    NSError *error;
    //Création des paramètres de la méthode POST
    NSString *bodyData = [NSString stringWithFormat:@"id=%@&Nom=%@&Prenom=%@&IdentifiantSaisie=%@&IdentifiantLogin=%@&TelSaisie=%@&TelDuTel=%@&mail=%@&Type=%@&version=%@",
    stid,stNom,stPrenom,stIdentifiantSaisie,stIdentifiantLogin,stTelSaisie,stTelDuTel,stmail,stType,stversion];
     
    NSMutableURLRequest *postRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:stFichierPhp]];
     
    // Set the request's content type to application/x-www-form-urlencoded
    [postRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
     
    // Designate the request a POST request and specify its body data
    [postRequest setHTTPMethod:@"POST"];
    [postRequest setHTTPBody:[NSData dataWithBytes:[bodyData UTF8String] length:strlen([bodyData UTF8String])]];
     
    //NSURLResponse *reponse;
    NSData *response  = [NSURLConnection sendSynchronousRequest:postRequest returningResponse:nil error:nil];
    NSString *RetourValeur = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
     
    return RetourValeur;
    }
    cordialement Law56100

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/03/2007, 20h20
  2. Eval qui fonctionne sur Firefox mais pas sur IE :D
    Par Comawhite dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/10/2006, 12h31
  3. [2.0] connexion qui fonctionne chez moi mais pas sur un autre pc
    Par Lorenzeb dans le forum Accès aux données
    Réponses: 1
    Dernier message: 13/09/2006, 18h47
  4. Réponses: 4
    Dernier message: 14/03/2006, 11h04
  5. Réponses: 2
    Dernier message: 23/11/2005, 18h10

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