webForumDet fria alternativet

Problem med variabler vid redirect

PHP

3 svar · 280 visningar · startad av Rödalacket

Medlem sedan feb. 20002 612 inlägg
Frågan#1

Har en sida med några inmatningsformulär. Submit knappen leder till samma sida (PHP_SELF) och då görs en koll om användarnamnet är upptaget. Om användarnamnet inte är upptaget så skickas man vidare med
header("Location: sida.php"), det är där problemet uppstår...variablerna kommer inte med till den sidan.

Har prövat med
HTTP_POST_VARS['username'], HTTP_GET_VARS['username'], $username, $_POST['username'], $_GET['username']
men det vill sig inte riktigt
Varför?

register_globals = on

Medlem sedan mars 20007 896 inlägg
#2

Eftersom att sidan som sagt laddas om så måste du skicka med variablerna igen. Lättast är antagligen via GET, men är det känsliga uppgifter så kan man använda fsockopen () och skicka data via POST.

Ex. med GET:

header ( "Location: sida.php?variabel=värde&variabel2=värde2" );

Ex. med POST:

<?php
...
$variabler = "variabel=värde&variabel2=värde2";

$socket = fsockopen ( "www.dinserver.se", 80 );
fputs ( $socket, "POST /sida.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: " . strlen ( $variabler ) . "\n\n" );
fputs ( $socket, $variabler . "\n" );

$returnerat = "";
while ( !feof ( $socket ) )
      $returnerat .= fgets ( $socket, 128 );

echo $returnerat;
?>
Medlem sedan feb. 20002 612 inlägg
#3

Tack, misstänkte nästan att det skulle vara nått sånt.
Det är inte några speciellt känsliga uppgifter men fsockopen () såg roligare ut... :)

Medlem sedan mars 20007 896 inlägg
#4

Det är roligare. :e

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)