R Roing Medlem sedan feb. 2003 108 inlägg Frågan 3 feb. 2003 22:23 #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.
OlleBoop Medlem sedan feb. 2000 1 861 inlägg Vill du skicka PHP-kod till ett phpskript eller vill du skicka fyra variabler till ett phpskript?
R Roing Medlem sedan feb. 2003 108 inlägg 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
R rIkLuNd Medlem sedan feb. 2003 169 inlägg 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!
S SPiN Medlem sedan mars 2000 7 896 inlägg 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.