Loading...
 
Français

Français


Re: Re : modification adhoc de l'enregistrement

posts: 7 France

> Update : oups! Il semblerait que l'aperçu ne corresponde pas trop au résultat... enlève les < ? php et ? > ça devrait aider.

merci c'était bien cela.
...mais ce n'est pas suffisant, Keep-Alive se voit affublé d'un ? par exemple.

J'ai cherché à circonscrire le problème et mon premier problème se situe au niveau du fgets() pour récupérer les resultats de mon post. Même si je cherche à ne récupérer que les 1024 premiers octets, je ne reçois rien et le process se termine en timeout. J'ai essayé de changer le paramètre Connexion en Close au lieu de Keep-Alive mais c'est pareil. J'ai réduit le script appelé à sa plus simple expression (il revoit juste "ok"). Appelé dans un formulaire HTML en post, ça marche (ouf!) mais appelé par mon script ça ne donne rien. Si je ne fais pas de fgets(), alors j'ai une seule valeur dans le tableau $_REQUEST, un offset positionné à 1024. Une idée pour me décoincer ?

Script


require_once('tiki-setup.php');
include_once('lib/taglines/taglinelib.php');

function http_post($server, $port, $url, $vars) {
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)";
$urlencoded = "";
while $key,$value) = each($vars
$urlencoded.= urlencode($key) . "=" . urlencode($value) . "&";
$urlencoded = substr($urlencoded,0,-1);
$content_length = strlen($urlencoded);

$headers = "POST $url HTTP/1.1
Accept: */*
Accept-Language: en-au
Content-Type: application/x-www-form-urlencoded
User-Agent: $user_agent
Host: $server
Connection: Keep-Alive
Cache-Control: no-cache
Content-Length: $content_length
";
$fp = fsockopen($server, $port, $errno, $errstr);
if (!$fp) {
echo "ERREUR: $errno - $errstr\n";
return false;
}
fputs($fp, $headers);
fputs($fp, $urlencoded);
$ret = "";
while (!feof($fp))
$ret.= fgets($fp, 1024);

fclose($fp);
return $ret;
}
$user = ""; //mettre son login ici
$pass = ""; //mettre son password

$result = http_post("tikiwiki.org", 80, "/tiki-login.php",
array("user" => $user, "pass" => $pass));
echo($result);

if(!isset($_REQUEST%22cookieId%22)) {
$_REQUEST%22cookieId%22 = 0;
}

if($_REQUEST%22cookieId%22) {
$info = $taglinelib->get_cookie($_REQUEST%22cookieId%22);
} else {
$info = Array();
$info%22cookie%22='';
}
echo "cookie: " . $info%22cookie%22;