Envoyer des parametres en POST
Le
Jean-Francois Ortolo
Bonjour
Je ne dispose pas de la fonction fsockopen(), ni, je crois, de la
fonction fopen() pour des fichiers ou scripts distants ( Je suis sous
OVH mutualisé. )
Mon problème, est que je ne sais pas comment télécharger le résultats
rendu par une form comportant des paramètres POST, avec uniquement par
exemple, la commande file($url) en PHP, en donnant au paramètres $url,
les valeurs des paramètres, codées de manière à ce que ce soit des
paramètres POST, et non GET.
Si les paramètres étaient en GET, je pourrais donner à la variable
$url, la valeur:
$url="$url_du_serveur/script_avec_form.php?var1=$var1&var2=$var2"
etc puis ensuite faire:
$contenu = @file($url);
Mais comme les paramètres sont en POST, je ne peux pas procéder
comme celà.
Merci beaucoup beaucoup de m'indiquer comment résoudre ce problème,
qui, je l'avoue, est un problème de newbie que je n'ai réussi à résoudre
pour l'instant, qu'avec la fonction fsockopen(). Malheureusement, OVH a
désactivé cette fonction sur ses mutualisés.
Bien à vous.
Jean Francois Ortolo
--
Mon site donne des Statistiques
et des Historiques Graphiques gratuits
sur les Courses de Chevaux du PMU.
http://www.ortolojf-courses.com
Je ne dispose pas de la fonction fsockopen(), ni, je crois, de la
fonction fopen() pour des fichiers ou scripts distants ( Je suis sous
OVH mutualisé. )
Mon problème, est que je ne sais pas comment télécharger le résultats
rendu par une form comportant des paramètres POST, avec uniquement par
exemple, la commande file($url) en PHP, en donnant au paramètres $url,
les valeurs des paramètres, codées de manière à ce que ce soit des
paramètres POST, et non GET.
Si les paramètres étaient en GET, je pourrais donner à la variable
$url, la valeur:
$url="$url_du_serveur/script_avec_form.php?var1=$var1&var2=$var2"
etc puis ensuite faire:
$contenu = @file($url);
Mais comme les paramètres sont en POST, je ne peux pas procéder
comme celà.
Merci beaucoup beaucoup de m'indiquer comment résoudre ce problème,
qui, je l'avoue, est un problème de newbie que je n'ai réussi à résoudre
pour l'instant, qu'avec la fonction fsockopen(). Malheureusement, OVH a
désactivé cette fonction sur ses mutualisés.
Bien à vous.
Jean Francois Ortolo
--
Mon site donne des Statistiques
et des Historiques Graphiques gratuits
sur les Courses de Chevaux du PMU.
http://www.ortolojf-courses.com

Poser une question


La librairie CURL (si votre hébergeur l'a installée) devrait faire
l'affaire : http://php.belnet.be/curl
Bien à vous,
--
Bruno BAGUETTE -
Si http://fr2.php.net/curl est disponible (je n connais pas cette
config), c'est une solution simple.
a++;
JG
Cà marche impec.
Merci beaucoup de votre réponse, j'ai simplement besoin d'une info:
Le script PHP que j'appelle en lui fournissant des paramètres POST,
et qui comporte donc une FORM, répond en donnant la possibilité à
l'utilisateur, de télécharger un fichier avec son navigateur. Le fichier
a un nom fixé.
J'ai déjà testé le passage de paramètres POST, ça fonctionne, mais
comment télécharger le fichier automatiquement, comme si le programme
PHP était comme un navigateur ?
Merci beaucoup beaucoup de votre réponse.
Jean Francois Ortolo
--
Mon site donne des Statistiques
et des Historiques Graphiques gratuits
sur les Courses de Chevaux du PMU.
http://www.ortolojf-courses.com
Rebonjour
Le(s) fichier(s) a télécharger, sont des fichier textes *.csv , issus
de l'export de Base de Données censé se produire lors de l'appel de la FORM.
Ne pensez-vous pas que je pourrais configurer la connexion curl, en
ajoutant cette instruction ?
curl_opt($ch, CURLOPT_HTTPHEADER, "Accept: text/csv");
Les double quotes sont-elles préférables, ou faut-il des simple quotes ?
La variable $ch ayant été préalablement affectée par la fonction
d'initialisation:
$ch = @curl_init();
Actuellement, je ne reçois pas le contenu du fichier, mais seulement
la page HTML contenant la FORM, qui s'affiche également de nouveau,
quand on utilise un navigateur.
Je ne sais pas comment recevoir le fichier. Je ne maîtrise pas les
fonctions relatives aux upload/download de fichiers, et la documentation
que j'ai lue ( les commentaires des utilisateurs du PHP Manual ) ne
concerne pas ce type de problème.
Merci beaucoup pour vos réponses.
Bien à vous.
Jean Francois Ortolo
--
Mon site donne des Statistiques
et des Historiques Graphiques gratuits
sur les Courses de Chevaux du PMU.
http://www.ortolojf-courses.com
J'ai résolu le problème
Il m'a suffit de rajouter ces quelques instructions:
unset($headers);
$headers = array("Accept:text/xml, application/xml,
application/xhtml+xml, text/html, text/plain",
"content-disposition=chevaux.csv");
curl_setopt($ch, CURLOPT_HTTPHEADER, headers);
Celà ajoute le contenu de la variable $headers à l'header HTTP envoyé
au formulaire, et configure les données reçues comme étant le résultat
du téléchargement du fichier chevaux.csv
Je n'ai même pas à configurer le Content-Type, qui est rendu par le
seveur automatiquement. C'est:
"Content-Type: application/csv-tab-delimited-table"
Celà a fonctionné du premier coup, j'étais stupéfait...
Pour les accros de la librairie Curl.
Bien à vous.
Jean Francois Ortolo
--
Mon site donne des Statistiques
et des Historiques Graphiques gratuits
sur les Courses de Chevaux du PMU.
http://www.ortolojf-courses.com