Pokud dobře chápu, potřebuješ nějakým PHP skriptem odeslat formulář s daty na nějaké jiné stránce...
Základ je zjistit, jestli se formulář odesílá metodou POST, nebo GET...
Pokud GET, je to jednoduchý. Řekněme, že máš formulář na stránce http://www.server.cz/adresar/form.php
Kód:
<form name="formular" method="get" action="zpracuj.php">
<input type="text" name="txtpole">
<input type="submit">
</form>
- tenhle formulář odešleš jednoduše zavoláním téhle adresy (třeba fcí fsockopen()):
Kód:
http://www.server.cz/adresar/zpracuj.php?txtpole=nejakahodnota
Pokud je metoda POST, je to složitější. Máme formulář na stránce http://www.server.cz/adresar/form.php
Kód:
<form name="formular" method="get" action="zpracuj.php">
<input type="text" name="txtpole">
<input type="submit">
</form>
Takový formulář odešleme tímhle skriptem (použijeme funkci HTTP_Post():
Kód:
function HTTP_Post($URL,$data,$referrer="") {
// parsing the given URL
$URL_Info=parse_url($URL);
// Building referrer
if($referrer=="") // if not given use this script as referrer
$referrer=$_SERVER["SCRIPT_URI"];
// making string from $data
foreach($data as $key=>$value)
$values[]="$key=".urlencode($value);
$data_string=implode("&",$values);
// Find out which port is needed - if not given use standard (=80)
if(!isset($URL_Info["port"]))
$URL_Info["port"]=80;
// building POST-request:
$request.="POST ".$URL_Info["path"]." HTTP/1.1\n";
$request.="Host: ".$URL_Info["host"]."\n";
$request.="Referer: $referer\n";
$request.="Content-type: application/x-www-form-urlencoded\n";
$request.="Content-length: ".strlen($data_string)."\n";
$request.="Connection: close\n";
$request.="\n";
$request.=$data_string."\n";
$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
fputs($fp, $request);
while(!feof($fp)) {
$result .= fgets($fp, 128);
}
fclose($fp);
return $result;
}
HTTP_Post("http://www.server.cz/adresar/zpracuj.php",Array("txtpole"=>"nejakahodnota"));