webForumDet fria alternativet

PHP som POSTar variabler från html-form

4 svar · 249 visningar · startad av Roing

RoingMedlem sedan feb. 2003108 inlägg
#1

Hej

Försöker göra en PHP kod som POSTas från ett formulär med 4 variabler.

Denna PHP ska sedan posta dessa vidare till en annan sida utan att något klick eller liknande behövs.

någon som vet något bra? det fungerar inte att föra in variabler i querystring
de måste sändas med POST.

OlleBoopMedlem sedan feb. 20001 861 inlägg
#2

Vill du skicka PHP-kod till ett phpskript eller vill du skicka fyra variabler till ett phpskript?

RoingMedlem sedan feb. 2003108 inlägg
#3

blev lite otydligt där...

jag har ett formulär som POSTAR 4 variabler till en PHP.
denna PHP ska sedan posta dessa till en annan sida. utan att jag behöver klicka på någon knapp

rIkLuNdMedlem sedan feb. 2003169 inlägg
#4

Du skulle kunna ha denna kod på den första sidan:

<form action="sida2.php" method="post" name="m">
<input type="hidden" name="var1" value="var1">
<input type="hidden" name="var2" value="var2">
</form>
<script language="JavaScript">
<!--
document.forms['m'].submit();
//-->
</script>

Detta gör att formuläret och variablarna skickas vidare till nästa sida automatiskt, om du gjort så att alla variablar sparas i det här formuläret!

SPiNMedlem sedan mars 20007 896 inlägg
#5

Det är ju fult, ;), gör hellre så här:

$phpVariables = "";
foreach( $_POST as $phpKey=>$phpValue ) {
     if( $phpVariables != "" )
          $phpVariables .= "&";

     $phpVariables .= $phpKey . "=" . $phpValue;
}

$phpPointer = fsockopen( "www.server.se", 80, $errorNr, $errorStr, 25 );
if( !$phpPointer ) {
     echo "Fel!<br />";
     echo "Felnummer: " . $errorNr . "<br />";
     echo "Felmeddelande: " . $errorStr . "<br />";
     die;
}

fputs( $phpPointer, "POST /sida.php HTTP/1.1\n" );
fputs( $phpPointer, "Host: [url]www.server.se\n[/url]" );
fputs( $phpPointer, "Content-type: application/x-www-form-urlencoded\n" );
fputs( $phpPointer, "Content-length: " . strlen( $phpVariables ) . "\n\n" );
fputs( $phpPointer, $phpVariables . "\n" );

$phpReturned = "";
while( !feof( $phpPointer ) )
     $phpReturned .= fgets( $phpPointer, 128 );

fclose( $phpPointer );

echo $phpReturned;

Du kan hitta ett script i PHP-arkivet som fungerar likadant som jag har gjort, där man kan söka genom andra formulär:
http://www.webforum.nu/showthread.php?s=&threadid=37539

Vill du ha någonting returnerat från det sista du skickar variablerna till ska du använda min variant, är det t.ex. något som ska lagras i en databas - och du inte behöver se resultatet, ska du använda rIkLuNd's variant, den är ju mycket snabbare att skriva.

245 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
242 ms — hämta tråd, inlägg och bilagor (db)