GrodanBollMedlem sedan sep. 2001789 inlägg
Hej hej :)
När man skickar grejjor till andra sidor så lägger man ju ofta variablerna i en länk, men då syns ju variablerna i adressfönstret.
Finns det inte något annat sätt?
Att skicka variablerna som sker vid 'post' hade varit kanon.
Finns det någe bra sätt? :q
Hänger ni på vad jag menar eller e jag bara förvirrad? ;)
/Grodan
SPiNMedlem sedan mars 20005 832 inlägg
Du kan ju alltid sätta upp en socket mot websidan och skicka via POST.
GrodanBollMedlem sedan sep. 2001789 inlägg
Swisch sa det när det flög över mitt huvud ;)
Que, va o allt sådant.
Hur gör man sånt?
/Grodan
SPiNMedlem sedan mars 20005 832 inlägg
Så här. :)
<?php
$socket = fsockopen ( "www.dinserver.se", 80, $errorNr, $errorStr, 25 );
if ( !$socket ) {
echo "Felnummer: " . $errorNr . "<br />";
echo "Fel: " . $errorStr . "<br />";
exit;
}
fputs ( $socket, "POST /dinSida.php HTTP/1.1\n" );
fputs ( $socket, "Host: [url]www.dinserver.se\n[/url]" );
fputs ( $socket, "Content-Type: application/x-www-form-urlencoded\n" );
fputs ( $socket, "Content-Length: " . $längdenPåData . "\n\n" );
fputs ( $socket, $Data . "\n" );
// $längdenPåData är hur byte som du ska skicka. ( Ta reda på med strlen ()
// $Data är din information som ska skickas.
// Ta emot data som returneras, dvs. sidan, här md fgets ()
fclose ( $socket );
?>
Kika på mitt script som söker i andras sökmotorer här.
Funktionen search () innehåller allt som du behöver veta. :)
GrodanBollMedlem sedan sep. 2001789 inlägg
Bugar o tackar för svaren SPiN men det verkar ju jättekrångligt (tycker jag iaf, som den nybörjare jag e).
Finns det verkligen inte någe annat sätt att skicka variabler till en annan sida utan att få med dem i adressfältet eller att bygga upp ett fomulär?
Jag vill ju ha ett lätt sätt ;)
/Grodan :)
spangoMedlem sedan juni 20006 147 inlägg
Nej. Det finns inga lätta sätt.
nicclasMedlem sedan feb. 20001 061 inlägg
Finns det verkligen inte någe annat sätt att skicka variabler till en annan sida utan att få med dem i adressfältet eller att bygga upp ett fomulär?
Varför inte använda sessions?
/nicclas - https://www.frisim.com
Patrik81Medlem sedan okt. 2001537 inlägg
Ok, jag medger jag kan ha läst heeelt fel och vara ute och cykla komplett, men om man inte vill att variablerna skall synas i adressfältet (som det gör då man använder
<form method="get" action="sida2.php">
) kan man inte bara använda
<form method="post" action="sida2.php">
?
Jag menar, då syns ju inte variablerna i adressfältet, och det är bara att hämta ut dem i sida2.php, eller?
Ber om ursäkt om jag inte hajjat, men är det inte bara något sådant som efterfrågas?
MVH Patrik
SPiNMedlem sedan mars 20005 832 inlägg
Jag visar med en liten kodsnutt:
Sida1.php
<?php
$variabel1 = $_POST[ 'variabelEtt' ];
$variabel2 = $_POST[ 'variabelTva' ];
?>
<html>
<form action="Sida2.php" method="POST">
Var 1: <input type="text" name="var1" /><br />
Var 2: <input type="text" name="var2" /><br />
<input type="submit" value="Skicka!" />
</form>
</html>
Sida2.php
<?php
$variabel1 = $_POST[ 'var1' ];
$variabel2 = $_POST[ 'var2' ];
if ( $variabel1 == "" || $variabel2 == "" ) {
$socket = fsockopen ( "www.dinserver.se", 80, $errorNr, $errorStr, 25 );
if ( !$socket ) {
echo "Felnummer: " . $errorNr . "<br />";
echo "Fel: " . $errorStr . "<br />";
exit;
}
fputs ( $socket, "POST /Sida1.php HTTP/1.1\n" );
fputs ( $socket, "Host: [url]www.dinserver.se\n[/url]" );
fputs ( $socket, "Content-Type: application/x-www-form-urlencoded\n" );
if ( $variabel1 == "" ) { // Skicka tillbaka $variabel2 då den var satt
fputs ( $socket, "Content-Length: " . strlen ( $variabel2 ) . "\n\n" );
fputs ( $socket, "variabelTva=" . $variabel2 . "\n" );
}
if ( $variabel2 == "" ) { // Skicka tillbaka $variabel1 då den var satt
fputs ( $socket, "Content-Length: " . strlen ( $variabel1 ) . "\n\n" );
fputs ( $socket, "variabelEtt=" . $variabel1 . "\n" );
}
while ( !feof ( $socket ) ) {
echo fgets ( $socket, 128 ); // Läser 128 tecken i taget och skriver ut dem
}
fclose ( $socket );
}
echo "Variabel1 var satt. Värde: " . $variabel1 . "<br />";
echo "Variabel2 var satt. Värde: " . $variabel2 . "<br />";
?>
Helt otestat, men det borde fungera som du vill. :)
GrodanBollMedlem sedan sep. 2001789 inlägg
Bugar o tackar för alla svaren :)
Tackar för din förklaring sist SPiN, nu har det allt klarnat lite för mig. Ska allt testa det lite, återkommer om jag får problem :)
Tack igen alla :birp
/Grodan