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
SSPiNMedlem sedan mars 20007 896 inlägg Du kan ju alltid sätta upp en socket mot websidan och skicka via POST.
Swisch sa det när det flög över mitt huvud ;)
Que, va o allt sådant.
Hur gör man sånt?
/Grodan
SSPiNMedlem sedan mars 20007 896 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. :)
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 20008 205 inläggNej. Det finns inga lätta sätt.
NnicclasMedlem sedan feb. 20001 050 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. 2001538 inläggOk, 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
SSPiNMedlem sedan mars 20007 896 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. :)
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