Connexion à un serveur distant avec cURL & création cookie

Petit nouveau ! | 3 Messages

21 avr. 2009, 07:49

Bonjour,
Je suis entrain de monter un projet mais à ce jour je reste bloqué sur un point.

J'aimerai pouvoir me connecter sur un espace même d'un site distant depuis une page de mon site en cours de création afin d'y envoyer des formulaires.

Le site distant vérifie l'existence des cookies de connexion pour envoyer les formulaires.

J'ai essayé avec cURL, j'arrive bien à me connecter à l'espace même, mais lors de la soumissions du formulaire (de mon site), il n y a aucune action de la part du site distant.

En gros :

Monsite.com > ma_page_d_envoi_formulaire.php

Site_distant.com > page_envoi_formulaire.php

Ce que je veux c'est que quand j'envoi le formulaire de mon site, celui ci transmet les variables au site distant et les envoi par la suite.

Voyez-vous comment je pourrais faire s'il vous plait ?

Celui ou celle qui m'aide à résoudre le problème sera récompensé !

Merci par avance

Mammouth du PHP | 693 Messages

21 avr. 2009, 08:03

Pourais tu déjà montrer ce que tu as fait ?

Petit nouveau ! | 3 Messages

21 avr. 2009, 08:14

Oui je vais mettre ça.

Alors j'ai 2 pages du mon site

1ere page (gatewayconnect.php)

Code : Tout sélectionner

define('LOGIN', 'ruslan59'); define('PASSWORD', 'monpasswd'); define('AUTHENTIFICATION', 'http://www.site_distant.com/index.php'); define('PAGE_PRIVEE', 'http://www.site_distant.com/index.php?page=formulaire'); $sid = ''; /** * Première connexion : authentification **/ $ch = curl_init(AUTHENTIFICATION); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'login' => LOGIN, 'mdp' => PASSWORD ) ); curl_setopt($ch, CURLOPT_COOKIEJAR, realpath('cookie.txt')); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $ret = curl_exec($ch); if ($ret === FALSE) { die(curl_error()); } curl_close($ch); if (preg_match('/(PHPSESSID=[0-9a-z,-]{32,40})/i', $ret, $m)) { $sid = '?' . $m[1]; } else if (preg_match('#<input\s+type="hidden"\s+name="([^\r\n\t <>\'"\\\]+)"\s+value="([0-9a-z,-]{32,40})"\s*/?>#i', $ret, $m)) { $sid = '?' . $m[1] . '=' . $m[2]; }
Ensuite mon formulaire (form.php)

Code : Tout sélectionner

<?php include ("gatewayconnect.php"); ?> ... <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="form"> <table border="0" width="72%" cellspacing="1"> <tr> <td height="55">&nbsp;</td> </tr> <tr> <td height="5">&nbsp;</td> </tr> <tr> <td> <input type="text" id="num" maxlength="10" name="destinataire" onBlur="vNum()" onchange="ScanForEmpty()" size="18" value="N° du destinataire" OnFocus="this.value=''" style="border: 1px dotted #800080"></td> </tr> <tr> <td>Message</td> </tr> <tr> <td height="50"> <textarea rows="3" maxlength="149" id="portugal-tchat.com" onkeyup="ScanForEmpty()" name="message" cols="14" style="border: 1px dotted #800080"></textarea></td> </tr> <tr><td align="center"> <script>displaylimit("","portugal-tchat.com",149)</script> </td></tr> <tr> <td> <p align="center"> <input type="hidden" name="prenom" value="<?php echo $prenom; ?>"> <input type="hidden" name="login" value="<?php echo $login; ?>"> <input type="submit" disabled="true" onclick="vNum();" value="Envoyer" name="send" style="float: center"></td> </tr> </table> </form> ...
Et c'est là que je bloque =(
Je veux que lorsque que j'envoi le formulaire de mon site
bah c'est en même temps envoyer le formulaire du site distant


[/code]

Mammouth du PHP | 693 Messages

21 avr. 2009, 08:23

Tu es sur que la page d'enrgesitrement est la page index.php ?

Parce qu'il faut envoyer les données post sur la page qui fera le traitmeent du formulaire.