j'ai un petit problème...
J'ai un formulaire de commande (bouton "acheter" paypal).
Quand le client clique sur ce bouton, cela appelle une page sécurisée
pour payer chez PayPal.
Je voudrais que cela déclenche en même temps (avec le même click)l'envoi
d'un mail en utilisant la fonction mail php.
Il y a bien des solutions, mais je ne veux pas utiliser de javascript.
Peut on en php faire en sorte qu'il y ai 2 actions simultanées avec le
submit du formulaire ?
En clair :
click bouton acheter = envoi simultané du formulaire paypal et d'un mail
de sécurité (sans javascript)
Tu ne serais pas par hasard en train d'envoyer une requête POST du serveur vers le client, au lieu de faire une réponse ?
J'envois au client les entêtes que j'aimerais qu'il soumette au second serveur, comme ce qui se passe en get avec un header:location. Mais visiblement, imitation n'est pas raison...
Olivier Miakinen wrote:
Tu ne serais pas par hasard en train d'envoyer une requête POST du
serveur vers le client, au lieu de faire une réponse ?
J'envois au client les entêtes que j'aimerais qu'il soumette au second
serveur, comme ce qui se passe en get avec un header:location. Mais
visiblement, imitation n'est pas raison...
Tu ne serais pas par hasard en train d'envoyer une requête POST du serveur vers le client, au lieu de faire une réponse ?
J'envois au client les entêtes que j'aimerais qu'il soumette au second serveur, comme ce qui se passe en get avec un header:location. Mais visiblement, imitation n'est pas raison...
Ronnie Garcia
Olivier Miakinen wrote:
Tout dépend comment est appelée la page sécurisée chez PayPal. Si c'est un GET, tu peux faire la chose suivante :
1) Le clic appelle un script PHP que tu auras écrit. 2) Le script envoie le mail. 3) Le script retourne comme résultat un header('Location') avec comme destination de la redirection la page Paypal.
Si au contraire c'est un POST, à moins qu'on puisse faire une redirection avec une page en POST, ce que je ne crois pas possible,
Je me demande justement pourquoi Php ne pourrait pas provoquer une redirection en POST. Sur le plan HTTP, c'est quasiment comme un GET si ce n'est que l'on a quelques entêtes en plus...
Effectivement. Mais le header "Location", qui est envoyé par le serveur au client, demande au navigateur de se rediriger vers une autre page (par le biais d'une méthode GET). C'est une limitation du protocole HTTP.
J'ai tenté un script comme ça mais, à cause du content-type, IE comme Mozilla demande où sauvegarder les données reçues :(
Attention, la tu envois ces headers à ton client, qui ne sait qu'en faire.
Est-ce que quelqu'un a déjà essayé un truc du genre ?
Tu n'as que deux solutions a mon avis, avec chacune ses inconvénients :
- Javascript, avec les risques au niveau sécurité et le risque qu'il soit désactivé - Effectuer ton POST à partir de ton serveur web et non pas du client. Tu peux effectivement construire une requete POST avec Curl, HTTP_Client de PEAR ou bien d'autres moyens. L'inconvénient est que c'est que ce ne sera pas ton client qui sera l'initiateur de la requete, il faudra donc que tu lui "retransmette" le resultat de ce POST (y compris les éventuels cookies de session, etc..)
a+
-- Ronnie Garcia <ronnie at mk2 dot net>
Olivier Miakinen wrote:
Tout dépend comment est appelée la page sécurisée chez PayPal. Si c'est
un GET, tu peux faire la chose suivante :
1) Le clic appelle un script PHP que tu auras écrit.
2) Le script envoie le mail.
3) Le script retourne comme résultat un header('Location') avec comme
destination de la redirection la page Paypal.
Si au contraire c'est un POST, à moins qu'on puisse faire une
redirection avec une page en POST, ce que je ne crois pas possible,
Je me demande justement pourquoi Php ne pourrait pas provoquer une
redirection en POST. Sur le plan HTTP, c'est quasiment comme un GET si
ce n'est que l'on a quelques entêtes en plus...
Effectivement. Mais le header "Location", qui est envoyé par le serveur
au client, demande au navigateur de se rediriger vers une autre page
(par le biais d'une méthode GET).
C'est une limitation du protocole HTTP.
J'ai tenté un script comme ça mais, à cause du content-type, IE comme
Mozilla demande où sauvegarder les données reçues :(
Attention, la tu envois ces headers à ton client, qui ne sait qu'en faire.
Est-ce que quelqu'un a déjà essayé un truc du genre ?
Tu n'as que deux solutions a mon avis, avec chacune ses inconvénients :
- Javascript, avec les risques au niveau sécurité et le risque qu'il
soit désactivé
- Effectuer ton POST à partir de ton serveur web et non pas du client.
Tu peux effectivement construire une requete POST avec Curl, HTTP_Client
de PEAR ou bien d'autres moyens. L'inconvénient est que c'est que ce ne
sera pas ton client qui sera l'initiateur de la requete, il faudra donc
que tu lui "retransmette" le resultat de ce POST (y compris les
éventuels cookies de session, etc..)
Tout dépend comment est appelée la page sécurisée chez PayPal. Si c'est un GET, tu peux faire la chose suivante :
1) Le clic appelle un script PHP que tu auras écrit. 2) Le script envoie le mail. 3) Le script retourne comme résultat un header('Location') avec comme destination de la redirection la page Paypal.
Si au contraire c'est un POST, à moins qu'on puisse faire une redirection avec une page en POST, ce que je ne crois pas possible,
Je me demande justement pourquoi Php ne pourrait pas provoquer une redirection en POST. Sur le plan HTTP, c'est quasiment comme un GET si ce n'est que l'on a quelques entêtes en plus...
Effectivement. Mais le header "Location", qui est envoyé par le serveur au client, demande au navigateur de se rediriger vers une autre page (par le biais d'une méthode GET). C'est une limitation du protocole HTTP.
J'ai tenté un script comme ça mais, à cause du content-type, IE comme Mozilla demande où sauvegarder les données reçues :(
Attention, la tu envois ces headers à ton client, qui ne sait qu'en faire.
Est-ce que quelqu'un a déjà essayé un truc du genre ?
Tu n'as que deux solutions a mon avis, avec chacune ses inconvénients :
- Javascript, avec les risques au niveau sécurité et le risque qu'il soit désactivé - Effectuer ton POST à partir de ton serveur web et non pas du client. Tu peux effectivement construire une requete POST avec Curl, HTTP_Client de PEAR ou bien d'autres moyens. L'inconvénient est que c'est que ce ne sera pas ton client qui sera l'initiateur de la requete, il faudra donc que tu lui "retransmette" le resultat de ce POST (y compris les éventuels cookies de session, etc..)