Forum Programmation.php envoi de tableau par header

Posté par  .
Étiquettes : aucune
0
23
nov.
2006
Bonjour, J'ai fais un petit script qui me permet de poster des informations par header :

$uri="/page.php";
$host="www.domaine.com";
$postdata="variable=1&tableau=".$_POST["tableau"];
$salida ="POST $uri HTTP/1.1\r\n";
$salida.="Host: $host\r\n";
$salida.="User-Agent: PHP Script\r\n";
$salida.="Content-Type: application/x-www-form-urlencoded\r\n";
$salida.="Content-Length: ".strlen($postdata)."\r\n";
$salida.="Cookie: log_internaute_id=".$_SESSION["log_internaute_id"]."\r\n";
$salida.="Connection: close\r\n\r\n";
$salida.=$postdata;
$da = fsockopen($host,$_SERVER['SERVER_PORT'], $errno, $errstr);
fputs($da,$salida);
fwrite($da, $salida);
$response="";
while (!feof($da))
$response.=fgets($da, 128);
$response=split("<!DOCTYPE",$response);
$header=$response[0];

Le problème que je rencontre c'est que mon tableau qui contient en fait un tableau Array ( [0] => 2 [1] => 0 [2] => 1 [3] => Selectionnez [4] => Selectionnez ) et me renvoi toujours Array et non pas mon tableau.
Quelqu'un aurai une idée pour passer le tableau directement en tableau?
Bon l'autre solution, je fais une fonction qui me changera mon tableau en chaine et je devrais faire un explode de ma chaine.
mais j'aime connaitre de nouvelle chose alors si il y a possibilité d'envoyer un tableau lorsque l'on fait je vois pas pourquoi on pourrait pas le faire par le header.
Merci.
  • # Solution

    Posté par  . Évalué à 1.

    J'ai trouvé il faut simplement faire :

    function Cfct_create_tableaupost($tab,$namechamp)
    {
    $poststring="";
    foreach($tab AS $key => $val)
    {
    $poststring .= urlencode($namechamp."[]") . "=" . urlencode($val) . "&";
    }
    // strip off trailing ampersand
    $poststring = substr($poststring, 0, -1);
    return $poststring;
    }


    et donc generer

    $postdata="variable=1&".Cfct_create_tableaupost($_POST["tableau"],"tableau")."&";

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.