|
| Kan man POSTE variable fra en side til en ~ Fra : Preben |
Dato : 26-08-09 21:18 |
|
Jeg vil høre om det på nogen måde er muligt, at bruge POST til at
overføre data mellem to php scripts? Fuldstændig ligesom en HTML
formular der bliver sendt, bare serverside i stedet for?
Jeg kan forestille mig det kunne gøres vha. header(). Jeg har
forsøgt med følgende:
$vars = urlencode("var1=$var1&var2=$var2");
$host = " www.mitdomæne.dk";
$path = "/page2.php";
header("POST $path HTTP/1.1\r\n");
header("HOST: $host\r\n");
header("Content-type: application/x-www-form-urlencoded\r\n");
header("Content-length: ".strlen($vars)."\r\n");
header("Connection: close\r\n\r\n");
header($vars);
...men fik en "Internal Server Error".
Jeg ved som sagt ikke om det overhovedet kan lade sig gøre,
udover min "mavefornemmelse", der fortæller at det kan.
Skal jeg bare glemme det eller er der nogen der kan hjælpe?
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Gert Krabsen (26-08-2009)
| Kommentar Fra : Gert Krabsen |
Dato : 26-08-09 21:38 |
|
Preben skrev:
> Jeg vil høre om det på nogen måde er muligt, at bruge POST til at
> overføre data mellem to php scripts? Fuldstændig ligesom en HTML
> formular der bliver sendt, bare serverside i stedet for?
>
> Jeg kan forestille mig det kunne gøres vha. header(). Jeg har
> forsøgt med følgende:
>
> $vars = urlencode("var1=$var1&var2=$var2");
> $host = " www.mitdomæne.dk";
> $path = "/page2.php";
> header("POST $path HTTP/1.1\r\n");
> header("HOST: $host\r\n");
> header("Content-type: application/x-www-form-urlencoded\r\n");
> header("Content-length: ".strlen($vars)."\r\n");
> header("Connection: close\r\n\r\n");
> header($vars);
>
> ..men fik en "Internal Server Error".
>
> Jeg ved som sagt ikke om det overhovedet kan lade sig gøre,
> udover min "mavefornemmelse", der fortæller at det kan.
> Skal jeg bare glemme det eller er der nogen der kan hjælpe?
Jeg plejer at inkludere 'script nummer to' med en include() kommando -
og så er der ingen variabler, der skal overføres..
| |
Preben (27-08-2009)
| Kommentar Fra : Preben |
Dato : 27-08-09 02:55 |
|
Gert Krabsen wrote in dk.edb.internet.webdesign.serverside.php:
> Jeg plejer at inkludere 'script nummer to' med en include() kommando -
> og så er der ingen variabler, der skal overføres..
Der er nok mange måder at løse det på, i øjeblikket bruger jeg $_SESSION,
men det er mere et spørgsmål *om* det kan lade sig gøre med POST metoden.
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Bertel Lund Hansen (27-08-2009)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 27-08-09 10:23 |
|
Preben skrev:
> Jeg vil høre om det på nogen måde er muligt, at bruge POST til at
> overføre data mellem to php scripts?
Man kan overføre POST-data mellem to forskellige HTML-sider:
<form action='secretpage.php' method='post'>
<p><input type='hidden' name='authenticated' value='yes'></p>
</form
Hvis scriptene hører til samme side, ville jeg bruge include som
Gert anviser. Hvis de ligger på forskellige sider, kan du bruge
ovenstående opskrift.
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Stig Johansen (27-08-2009)
| Kommentar Fra : Stig Johansen |
Dato : 27-08-09 11:11 |
|
"Preben" <prebenprebs@gmail.com> wrote in message
news:4a959884$0$299$14726298@news.sunsite.dk...
> Jeg vil høre om det på nogen måde er muligt, at bruge POST til at
> overføre data mellem to php scripts? Fuldstændig ligesom en HTML
> formular der bliver sendt, bare serverside i stedet for?
Jeg er ikke den store PHP-haj, men her er hvad 'svineørerne' bruger til POST
requests (serverside):
.....
<?
function http_post_urlarray($ident, $keys, $array){
$in_first = true;
foreach($array AS $key => $value){
if (substr($return, -1) == "&"){
$return = substr($postdata, 0, -1);
}
if ($in_first == true){
$in_first = false;
}else{
$return .= "&";
}
if (is_array($value)){
$keys = $keys;
$keys[] = $key;
$return .= sms_post_urlarray($ident, $keys, $value);
}else{
$return .= $ident;
if ($keys){
foreach($keys AS $thiskey){
$return .= "[" . urlencode($thiskey) . "]";
}
}
$return .= "[" . urlencode($key) . "]=" . urlencode($value);
}
}
$return .= "&";
return $return;
}
function http_post($host, $port, $site, $options){
$fp = fsockopen($host, $port, $error_number, $error_string, 2);
if ($fp){
$in_first = true;
foreach($options AS $key => $value){
if ($in_first == true){
$in_first = false;
}else{
$postdata .= "&";
}
if (is_array($value)){
$in_first = true;
$postdata .= http_post_urlarray($key, "", $value);
}else{
$postdata .= urlencode($key) . "=" . urlencode($value);
}
}
$out = "POST http://" . $host . "/" . $site . " HTTP/1.0\r\n";
$out .= "Content-Length: " . strlen($postdata) . "\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "\r\n";
$out .= $postdata;
fwrite($fp, $out);
$in_answer = "";
while(!feof($fp)){
$in_string = fgets($fp, 1024);
$in_answer .= $in_string;
}
fclose($fp);
return $in_answer;
}else{
echo "No connection.";
}
}
function http_post_file($host, $port, $site, $file){
$boundary = "---mYbOun";
$cont = file_get_contents($file);
$post .= "--" . $boundary . "\n";
$post .= "Content-Disposition: form-data; name=\"name_of_textfield\";
filename=\"the_filename\"\n";
$post .= "Content-Type: application/octet-stream\n\n";
$post .= $cont;
$post .= "\n--" . $boundary . "--\n\n";
$headers .= "POST http://" . $host . "/" . $site . " HTTP/1.0\n";
$headers .= "Content-Type: multipart/form-data; boundary=" . $boundary .
"\n";
$headers .= "Content-Length: " . strlen($post) . "\n";
$headers .= "\n";
$sendd = $headers . $post;
$length = strlen($sendd);
unset($post);
unset($headers);
$fp = fsockopen($host, 80);
while($count < ($length + 2048)){
fputs($fp, substr($sendd, $count, 2048));
$count += 2048;
}
while(!feof($fp)){
fread($fp, 1024);
}
fclose($fp);
}
?>
.....
Indenfor javascript(clientside) eller ASP(serverside) findes der en
XMLHTTPRequest til den slags.
Jeg vil gætte på, der findes noget tilsvarende til PHP, så man ikke skal ned
i lavpraktisk kode.
--
Med venlig hilsen/Best regards
Stig Johansen
| |
|
|