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

Langage PHP Discussion :

Générer une requete POST sans formulaire (avec redirection de l'utilisateur)


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de thecanea
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 131
    Par défaut Générer une requete POST sans formulaire (avec redirection de l'utilisateur)
    Bonjour à tous,

    Je souhaiterai permettre à mon script php lorsqu'il est appelé (via un clic sur un lien d'un utilisateur) par exemple : http://www.monsite.fr/module/va_poster.php ==> si l'utilisateur clic sur ce lien, j'aimerai avoir le comportement suivant :
    1-le script va_poster.php s'éxécute,
    2-il génère une "requete" en méthode POST en passant en parametre une chaine de caractères, et il doit rediriger l'utilisateur vers une autre définie dans le code; par exemple :
    http://www.monsite.fr/module2/acceuil.php (avec : $_POST['chaine']="machainequejeveuxpasserparpost")...

    Voilà. Le "problème" c'est que je ne vois pas comment faire pour le mieux. Je souhaiterai éviter requetage Ajax ou utilisation de Javascript (pr rediriger....); et je ne sais pas quelle fonction php utiliser :
    j'ai entendu parler/lu :
    -curl()
    -stream_context de PHP
    -http_post_data() ou http_post_fields()

    Et du coup je ne vois pas comment faire.

    J'ai une autre question subsidiaire, une fois la requete POST générée et l'utilisateur dirigé vers module2/acceuil.php, puis-je vérifier l'adresse IP du serveur de la page qui a généré l'envoi POST (retrouver l'adresse IP de mon http://www.monsite.fr/module/va_poster.php, pour vérifier que la requete provient bien de cette page...).

    J'espère avoir exprimé clairement mon besoin,

    Et merci d'avance pour vos conseils, suggestions et solutions éventuel(le)s !

    Thec

  2. #2
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    salut,
    Je ne comprends pas le but ultime de tout ceci.
    Tu as une page A. En l'ouvrant, tu génères une requete POST qui t'envoie sur une page B du MEME domaine.
    Question : pourquoi ne pas tout rassembler en une seule page ?
    Pour l'ip, elle peut etre recuperée via la variable surperglobale $_SERVER["HTTP_REFERER"]
    Z.

  3. #3
    Membre confirmé Avatar de thecanea
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 131
    Par défaut
    En fait je veux faire "échanger" deux modules sur le même serveur, tout en empéchant un tiers de simuler mon échange (d'ou la vérification via IP, que j'ai besoin de récupérer).

    Sur ma page A : je génère une redirection de l'utilisateur avec des paramètres POST générés par le script.
    Sur la page B : je vérifie que l'adresse IP de l'émetteur (ici A) est bien la meme que B, et je recupere les données de POST.

    Deux projets différents => on peut pas regrouper sur une meme page.
    Et en fait ce que je veux savoir : c'est le code à utiliser pour générer la redirection avec les paramètres souhaités en POST

  4. #4
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Salut,
    curl ne conviendra pas car il permet d'appeler une page exterieur depuis un script. C'est toujours la page A qui s'execute.

    Par contre, c'est la fonction header qui me vient a l'esprit en 1er, pour une redirection PHP.
    Et voila ce que je t'ai déniché : http://fr2.php.net/manual/fr/function.header.php#89447

    Z.

  5. #5
    Membre confirmé Avatar de thecanea
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 131
    Par défaut
    Ok, c'est sympa, j'venais de voir aussi la fonction header() avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $host = "www.example.com";
    $path = "/path/to/script.php";
    $data = "data1=value1&data2=value2";
    $data = urlencode($data);
     
    header("POST $path HTTP/1.1\r\n" );
    header("Host: $host\r\n" );
    header("Content-type: application/x-www-form-urlencoded\r\n" );
    header("Content-length: " . strlen($data) . "\r\n" );
    header("Connection: close\r\n\r\n" );
    header($data);
    ?>
    Je vais tester voir si ça marche comme je le souhaite, et je vous tiens au courant

  6. #6
    Membre confirmé Avatar de thecanea
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 131
    Par défaut
    Euh, j'ai testé le code donné précedemment, et en fait :
    -d'une je n'arrive pas à être redirigé vers ma page sur laquelle s'effectue le POST
    -de deux : mon navigateur (FF, Opera, Chrome) me propose de télécharger le fichier plutôt que d'exécuter le script...

    Des idées ?
    Vous avez déjà fait ce genre d'opération ?

    Merci d'avance, parce que là je tourne en rond et j'commence à perdre les idées claires^^

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/10/2009, 14h16
  2. Probleme avec une requete POST
    Par y0ug dans le forum Réseau
    Réponses: 3
    Dernier message: 19/08/2007, 16h57
  3. Traiter une requête POST avec attachement
    Par queto_putito dans le forum Langage
    Réponses: 3
    Dernier message: 30/07/2007, 13h40
  4. Réponses: 3
    Dernier message: 20/03/2007, 13h30
  5. Poster une requete POST avec fsockopen
    Par ePoX dans le forum Langage
    Réponses: 8
    Dernier message: 27/11/2005, 14h20

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