/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
hente alle variabler på een gang?
Fra : MacJohn


Dato : 17-11-06 21:13

Jeg er vant til at kunne sende variabler fra side til side, via f.eks.
http://www.min-side.dk/side.php?variabel=noget
- det fungerer jo fint på Unoeuro.

Men det gør det ikke ved web10

Her skal jeg "hente" variablerne : $variabel = $_REQUEST['variabel'];

Og så længe der kun er tale om en enkelt variabel, er det også OK, men
hvad hvis der er tale om flere forskellige variabler; findes der en
funktion som kan hente alle variabler, og lægge dem på plads uden at
skulle skrive en kommando til hver enkelt variabel?


Mvh
John

 
 
Martin Mouritzen (17-11-2006)
Kommentar
Fra : Martin Mouritzen


Dato : 17-11-06 23:00

On Fri, 17 Nov 2006 21:13:17 +0100, MacJohn
<john@skrivikkedettebasix.dk> wrote:

>Jeg er vant til at kunne sende variabler fra side til side, via f.eks.
>http://www.min-side.dk/side.php?variabel=noget
>- det fungerer jo fint på Unoeuro.
>
>Men det gør det ikke ved web10
>
>Her skal jeg "hente" variablerne : $variabel = $_REQUEST['variabel'];
>
>Og så længe der kun er tale om en enkelt variabel, er det også OK, men
>hvad hvis der er tale om flere forskellige variabler; findes der en
>funktion som kan hente alle variabler, og lægge dem på plads uden at
>skulle skrive en kommando til hver enkelt variabel?

Det er fordi Unoeuro åbenbart kører med register_globals, noget værre
snavs.

Du kan læse mere her, der står også (i kommentarerne) hvordan du evt.
kan slå dem til igen ved hjælp af .htaccess

http://php.net/register_globals

--
Med venlig hilsen,
Martin Mouritzen.
http://www.siteloom.dk

Peter Brodersen (17-11-2006)
Kommentar
Fra : Peter Brodersen


Dato : 17-11-06 23:48

On Fri, 17 Nov 2006 21:13:17 +0100, MacJohn
<john@skrivikkedettebasix.dk> wrote:

>Og så længe der kun er tale om en enkelt variabel, er det også OK, men
>hvad hvis der er tale om flere forskellige variabler; findes der en
>funktion som kan hente alle variabler, og lægge dem på plads uden at
>skulle skrive en kommando til hver enkelt variabel?

Du kan lige så godt vænne dig til det - det er sådan, standard-PHP'er
fungerer i fremtiden. I den kommende PHP6 vil der ikke være nogen
opsætninger, hvor register_globals (der gør, at du kan henvise direkte
til $variabel) eksisterer.

Det er fint, at du "henter" dine variable, idet du så selv er herre
over, hvilke udefrakommende variable, du vil benytte.

Hvis du stadigvæk vil have den opførsel, så kig på funktionen
extract() - men læs samtidig grundigt den warning, der er nævnt på
siden:
http://php.net/manual/en/function.extract.php

--
- Peter Brodersen
Kendt fra Internet

Bertel Lund Hansen (19-11-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 19-11-06 20:44

MacJohn skrev:

> - det fungerer jo fint på Unoeuro.

Du har fået forklaringen.

> Her skal jeg "hente" variablerne : $variabel = $_REQUEST['variabel'];

.... eller bare bruge $_REQUEST['variabel']. Det er skam en legal
variabel, og den har den fordel at man kan se hvilket scope den
hører til.

Det er kun hvis man vil lave midlertidige ændringer som måske
ikke må blive permanente, at man er nødt til at kopiere
variablen.

Jeg har tidligere benyttet samme metode som dig, men det holdt
jeg op med da jeg flyttede fra Unoeuro og mine PHP-programmer
brød sammen. Det var ikke sådan lige til at finde fejlene fordi
der jo kun var brugt 'legale' variable - det var bare ikke dem
alle jeg havde fået 'hentet' ...

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste