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
9 svar · 380 visningar · startad av web00132
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
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
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'];
mm, jao de stämmer ju, jag va så trött när jag skrev mitt inlägg... ;)
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?
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
prova skriv global $variabel inuti funktionen också
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. :)
<?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.