Http post à partir de php, sans curl

Bonjour,

J’aimerai permettre d’envoyer des $_POST à mumble-1.verygames.net…[/url] tout en restant sur mon site [url=http://mumble.gunneurs-star.com/test.php.]mumble.gunneurs-star.com…

Mais mon problème , c’est que sa marche pas .


<?php function do_post_request($url, $data) { $params = array('http'=>array( 'method'=>"POST", 'content'=>$data ) ); $ctx = stream_context_create($params); $fp = fopen($url, 'rb', false, $ctx); if (!$fp) { throw new Exception("Problem with $url, $php_errormsg"); echo "Vous êtes maintenant inscrit au mumble"; } $response = @stream_get_contents($fp); if ($response == false) { throw new Exception("Problem reading data from $url, $php_errormsg"); } return $response; } if($_GET['lol'] == 3) { $url = "http://mumble-1.verygames.net/registration.php?port=52392&token=bce647e3205b9fbf942b"; $data = array ($_POST['user'] => $user, $_POST['pwd1'] => $pwd1, $_POST['pwd2'] = $pwd2, $_POST['adduser'] => $adduser, $_POST['send'] = $send, $_POST['reset'] => $reset); $data = http_build_query($data); do_post_request($url, $data); } ?>
Mumble



[Gunneurs star team]

Ajouter un utilisateur

Nom d'utilisateur :

Mot de passe :

Mot de passe :


  




Cordialement

jason
Edité le 12/02/2009 à 14:01

Question toute bête en passant, sans regarder le code :
Est-ce que ton hébergeur autorise les ouvertures de fichiers distantes (allow_url_fopen) ?

Coment le savoir ?

Je suis chez allo-heberge.com

Je peux demander par support ?
Edité le 12/02/2009 à 10:30

Crée un fichier contenant uniquement <?php phpinfo(); ?> et regarde la configuration du serveur par ce biais.

Bonjour ,

Donc j’ai créé ce fichier et j’ai remarqué qu’il était sur ON.
mumble.gunneurs-star.com…

mais mon code marche peut-être comment le savoir ?

le problème ne vient-il pas de la ligne

$data = array ($_POST[‘user’] => $user, $_POST[‘pwd1’] => $pwd1, $_POST[‘pwd2’] = $pwd2, $_POST[‘adduser’] => $adduser, $_POST[‘send’] = $send, $_POST[‘reset’] => $reset);

Sachant qu’au final il me faut

$_POST[‘user’]
$_POST[‘pwd1’]
$_POST[‘pwd2’]
$_POST[‘adduser’]
$_POST[‘send’]
$_POST[‘reset’]
Edité le 12/02/2009 à 13:37

Bonjour

C’est bon j’ai trouvé , tout viens de $data

$data = array (‘user’ => $_POST[‘user’], ‘pass1’ => $_POST[‘pass1’], ‘pass2’ => $_POST[‘pass2’], ‘adduser’ => $_POST[‘adduser’], ‘send’ => $_POST[‘send’], ‘reset’ => $_POST[‘reset’]);

Merci pour ton aide

Cordialement

jason

Hmm. J’ai pas trop compris pourquoi tu utilises $_POST[ ] en index de ton tableau $data.
Ce serait pas plutôt un truc comme (j’ai mis que le début) :

<?php $data = array('user' => $_POST['user'], 'pwd1' => $_POST['pwd1']); ?>

Autre chose, idéalement pour un problème comme ça, il faudrait que tu postes le message d’erreur précis et que tu isoles le plus possible le code qui déconne. Typiquement, tu peux mettre des données de test au lieu de te servir de $_POST et tu fais des var_dump pour vérifier que t’as bien les valeurs que tu veux. En faisant ça étape par étape, tu réussiras à trouver quelle ligne cloche vraiment.
Edité le 12/02/2009 à 14:04

Ben en faite il n’y avait pas de message d’erreur mais aucun compte ne se créé sur le mumble.

Ensuite j’ai tout mis car en plus les problème pouvais venir de n’importe où , entre autre ce sont :
-Le nom des input ne correspondait pas avec les $_POST[‘pwd1’] puisque normalement c’était $_POST[‘pass1’]
-La deuxième erreur était celle que tu énonce ci-dessus ^^ , je ne savais pas comment marché les array donc automatiquement j’ai eu faux .
-Ensuite ma dernière erreur était de mettre |echo “Vous êtes maintenant inscrit au mumble”;| dans if(!$fp) { }.

Et j’ai remarqué que tu a posté le message 1min 59 après moi , peut-être que tu n’as pas vu le mien qui disait que j’avais réglé mon problème ^^.

Merci de ton aide.

Cordialement

jason
Edité le 12/02/2009 à 15:36