webForumDet fria alternativet

Skicka variabler... PHP5

14 svar · 459 visningar · startad av mattiash2

mattiash2Medlem sedan maj 200218 inlägg
#1

En super enkel bas fråga.

Har en länk:
sida.php?p=3

Jag vill fånga p på nästa sida.
Jag har förträngt hur man gör.
$_POST eller $_GET?
HTTPS_VARS... va fasen...

skämt för att jag frågar något sådant enkelt...

GeinMedlem sedan sep. 20004 849 inlägg
#2
$p = $_GET["p"];
SjodahlMedlem sedan maj 20033 137 inlägg
#3

Om det är ifrån ett formulär: (inte din fråga men fyller på lite)

$p = $_POST["p"];
GunnarDMedlem sedan juni 20014 250 inlägg
#4

Fyller också på lite :)

p=$_REQUEST['p']

I den variablen hamnar variablerna också i oavset vilken method (GET eller POST) som används.

SjodahlMedlem sedan maj 20033 137 inlägg
#5

hmm då verkar den ju bättre ;)
Vad är nackdelen med REQUEST?

GeinMedlem sedan sep. 20004 849 inlägg
#6

Sjodahl skrev:

hmm då verkar den ju bättre ;)
Vad är nackdelen med REQUEST?

Mindre kontroll? Vad händer om man skickar med en variabel p i både GET och POST?

SjodahlMedlem sedan maj 20033 137 inlägg
#7

sant... vilket tar den då igentligen ?
Vad är fördelen med REQUEST då ;)

nitro2k01Medlem sedan aug. 20037 630 inlägg
#8

Gein skrev:

Sjodahl skrev:

hmm då verkar den ju bättre ;)
Vad är nackdelen med REQUEST?

Mindre kontroll? Vad händer om man skickar med en variabel p i både GET och POST?

Hur skickar man en variabel i både post och get?

SjodahlMedlem sedan maj 20033 137 inlägg
#9

med en intressant fråga ;)
om det inte går vad har man post och get till då ?

<form method="post" action="test.php?variabel=test">
	<table>
		<tr>
		<td><input type="text" name="variabel"></td>
		</tr>
</td>
		</tr>
		<tr>
		<td><input type="submit" value="Login!"></td>
		</tr>
	</table>
</form>

här får man väl både en post och en get?

GeinMedlem sedan sep. 20004 849 inlägg
#10

php.net skrev:

Variables provided to the script via the GET, POST, and COOKIE input mechanisms, and which therefore cannot be trusted. The presence and order of variable inclusion in this array is defined according to the PHP variables_order configuration directive. This array has no direct analogue in versions of PHP prior to 4.1.0. See also import_request_variables().

Jag ser nog ingen direkt anledning att använda $_REQUEST. Skulle väl vara om man inte vet vart indata kommer någonstans. Men om man håller på med en egen implementation så hoppas jag att man alltid har koll på det.

GeinMedlem sedan sep. 20004 849 inlägg
#11

nitro2k01 skrev:

Hur skickar man en variabel i både post och get?

Nej det kanske inte går. Men GET/POST och COOKIE går väl iaf skicka. Hur som helst så var ju svaret att man fick en array med värden vid flera förekomster.

nitro2k01Medlem sedan aug. 20037 630 inlägg
#12

Det går inte att skicka båda till samma sida på samma gång, eftersom en form bara kan ha en method. Men däremot kan en och samma sida vi två olika tillfällen anropas med olika method. Vid det tillfälle då sidan anropas med method="GET" så är $_POST[] tom på servern, och vice versa.
Skillnaden mellan post och get är hur de används, det hörs nästan på namnet. Get är tänkt att användas för att hämta information, medan post är tänkt för engångsåtgärder, t ex att logga in, eller posta ett inlägg. Det är därför IE visar ett varningsmeddelande när man försöker ladda om en post-sida t ex.

PeeerMedlem sedan mars 20025 362 inlägg
#13

nitro2k01 skrev:

Det går inte att skicka båda till samma sida på samma gång

Här skickas ju både post och get-variabler till samma sida. Visst, det är en post-ning, men get-variablerna finns ju trots allt med på mottagarsidan.

GunnarDMedlem sedan juni 20014 250 inlägg
#14

Har gjort en liten testsida av koden ( http://www.gunnard.se/tmp/test1.php ) där man kan se vad som hamnar i $_REQUEST, $_GET och $_POST

SjodahlMedlem sedan maj 20033 137 inlägg
#15

Japp då går det väl att köra bägge?

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb