Formulaire avec requete sur serveur distant

Eléphanteau du PHP | 12 Messages

02 mai 2013, 17:21

Bonjour à tous

Je fais pas souvent de php mais la je suis bloquer et du coup je viens faire un tour ici.

J'ai dans mon site un formulaire pour créé des comptes via une api distante.
L'idée est la suivante :
- je rempli le formulaire sur mon serveur
- à la validation il doit envoyez les données de la façon suivante :

Code : Tout sélectionner

https://app.eslip.com/create_account?channel=".$channel."&password=".$password."company_id=".$company_id."&user_id=".$user_id."&email=".$email."&subdomain=".$subdomain."&company_name=".$company_name."&user_name=".$user_name."&user_password=".$user_password."&country=".$country.
sur le site https://app.eslip.com/create_account? à ce que je sais

J'ai tenter un code dans le genre :
	$cmd = "wget --no-check-certificate \"https://app.eslip.com/create_account?channel=".$channel."&password=".$password."company_id=".$company_id."&user_id=".$user_id."&email=".$email."&subdomain=".$subdomain."&company_name=".$company_name."&user_name=".$user_name."&user_password=".$user_password."&country=".$country."\" >/dev/null 2>&1"; 
Mais il envoi manifestement rien, mon code dans un echo retourne la bonne url.

Est ce que certain pourrais me donner des pistes de recherche ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 mai 2013, 18:13

salut,


A tu essayé d'utiliser la fonction file_get_contents ?


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 12 Messages

02 mai 2013, 18:19

Bonjour

merci pour la réponse.

Non car je pensais que cela parlais de file = fichier
et pour envoyez les informations, c'est cela ou bien je me suis planter dans le code ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 mai 2013, 18:47

le truc c'est que tu fait appel à une url, donc file_get_contents peux faire l'affaire et tu aura en plus la réponse du serveur distant (que tu peux parser pour afficher ou logger).

après il faut voir cela avec les personnes gérant l'autre site qui sont les plus a même de t'indiquer la chose. (est bien par l'url, est ce un formulaire en méthode post ? etc etc).


@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 619 Messages

02 mai 2013, 19:04

Bonjour,

si votre hébergement vous le permet regarde du cote de CURL il permet d'envoi des données en post ou get et de récupéré un resultat

Eléphanteau du PHP | 12 Messages

03 mai 2013, 09:23

Bonjour

Je peux faire du curl bien sur mais je maitrise pas trop.

je vais voir ce que veux le développeur de l'api sur son formulaire

Mammouth du PHP | 619 Messages

03 mai 2013, 09:55

Bonjour,

Ok vois avec le dev api au moins tu comprendras mieux ton code mais si jamais cela devais pas être possible revient et je d'aiderai avec curl

Eléphanteau du PHP | 12 Messages

03 mai 2013, 16:06

Re

Il faut que j'envoie la requête en get et l'API me répond en JSON.

Donc l'url comme je la fabrique est bonne mais le reste je bloque.

Mammouth du PHP | 619 Messages

03 mai 2013, 16:21

Bonjour,

test de faire un

//on récupère le contenu de la page
$json=file_get_contents($url);

var_dump(json_decode($json));
var_dump(json_decode($json, true));

voila une url http://php.net/manual/fr/function.json-decode.php

apres je connais pas beaucoup json peut être que d'autre personne pourrons mieux d’éclairer

Eléphanteau du PHP | 12 Messages

03 mai 2013, 17:29

IL me retourne NULL NULL

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 mai 2013, 17:37

et juste un var_dump($json); ?


@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 619 Messages

03 mai 2013, 17:46

Comme moogli le demande juste un var_dump($json);

et teste
$json = file_get_contents($url); 
$json = utf8_encode($json); 
$results = json_decode($json); 

var_dump($json);
var_dump($results );


Eléphanteau du PHP | 12 Messages

03 mai 2013, 17:48

var_dump(json_decode($json)); :: NULL

Eléphanteau du PHP | 12 Messages

03 mai 2013, 17:50

Comme moogli le demande juste un var_dump($json);

et teste
$json = file_get_contents($url); 
$json = utf8_encode($json); 
$results = json_decode($json); 

var_dump($json);
var_dump($results );


Cela retourne
string(931) " Google

400. That’s an error.

Your client has issued a malformed or illegal request. That’s all we know. " NULL

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 mai 2013, 22:55

Du coup tu vois ton erreur est du a une url foireuse.
Vérifie l'url que tu utilise pour appeler le web service.


@+
Il en faut peu pour être heureux ......