webForumDet fria alternativet

Http_get_vars

9 svar · 380 visningar · startad av web00132

web00132Medlem sedan maj 2001822 inlägg
#1

Jag skulle vilja göra alla variabler som jag tar emot från ett formulär till globala. Hur gör jag detta?
Jag har testat typ:

global HTTP_GET_VARS[]

men det funkar inte.

MVH/Richard

VirrdoMedlem sedan okt. 2001167 inlägg
#2

1. När du ska använda variabler ska du alltid ha ett dollartecken framför ($).

2. För att ta emot värden ifrån ett formulär är det $HTTP_POST _VARS[] du ska använda

Om du använder den senaste PHP-verran så kan du även använda $_POST[] istället $HTTP_POST_VARS[].

Sen om du kan göra ett $_POST[]-värde globalt det vet jag faktiskt inte, och jag sitter just nu i skolan, så jag kan inte kontrollera det heller.

Men jag har läst någestans att man ska kunna använda "extract($HTTP_POST_VARS["variabel37"])" för att få fram värdet "variabel37" i en variabel som då heter $variabel37 och istället göra den global, du får helt enkelt testa dig fram.

edit: litet nyttiga länkar...
http://se.php.net/manual/ro/reserved.variables.php
http://se.php.net/manual/en/language.references.spot.php#references.global
http://se.php.net/manual/ro/migration4.variables.php

KimMedlem sedan jan. 20003 571 inlägg
#3

Huruvida man ska använda $HTTP_GET_VARS eller $HTTP_POST_VARS beror på vilken method som angetts i formuläret. Har man angett GET där så ska naturligtvis $HTTP_GET_VARS användas.

För att göra dessa variabler globala så är det bara att skriva

global $HTTP_GET_VARS, $HTTP_POST_VARS;

I den senaste versionen av PHP, version 4.1.2, så kan man som sagt använda $_POST och $_GET för att slippa skriva så mycket. ;)
För att göra en vanlig variabel av din query-string så är det ju bara att deklarera en helt vanlig variabel, eller har jag missat något virrdo?

$variabel = $_GET['variabel'];
VirrdoMedlem sedan okt. 2001167 inlägg
#4

mm, jao de stämmer ju, jag va så trött när jag skrev mitt inlägg... ;)

web00132Medlem sedan maj 2001822 inlägg
#5

He, ok. Tack ska ni ha. Mitt problem är ju att jag skulle vilja hitta ett sätt att göra alla variabler från mitt formulär globala utan att skriva ut varenda en av dom.

global $HTTP_GET_VARS;

Detta verkar inte fungera.

global $_GET;

Inte heller detta.
Jag har testat ganska mycket ganska länge nu, men hittar inget som verkar funka. Någon?

web00132Medlem sedan maj 2001822 inlägg
#6

Eh.. det visade sig såklart vara ett helt annat fel. Vad vet jag inte riktigt.
Mitt problem nu är:
Efter man fyllt i ett formulär skickas det till en sida som anropar en funktion som skriver in alla värden i en textfil. Problemet är att variablerna vill inte följa med till funktionen även om jag gjort dom globala.
Vad kan detta bero på?

Tack på förhand/Richard

dabMedlem sedan apr. 2001109 inlägg
#7

prova skriv global $variabel inuti funktionen också

web00132Medlem sedan maj 2001822 inlägg
#8

Ha! Då vet man det också. Nu löste det sig, tack ska du ha!

MVH / Richard

SPiNMedlem sedan mars 20005 832 inlägg
#9

De nya globala associativa arrayerna ( $_GET, $_POST, osv. ) behöver inte deklareras global får att nås från funktioner, då de redan är globala. Kan vara värt att veta. :)

ChavezMedlem sedan maj 20001 297 inlägg
#10
<?PHP

function hej()
{
    global $HTTP_GET_VARS, $HTTP_POST_VARS; 

    extract ($HTTP_GET_VARS, EXTR_OVERWRITE); 
    extract ($HTTP_POST_VARS, EXTR_OVERWRITE);

}
?>

Nu har du alla variabler i formen $variabeln, globala inne i funktionen.

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