Avatar billede keet Nybegynder
26. november 2003 - 11:45 Der er 7 kommentarer

Undefined variable fejl på win2000

Jeg har lige flyttet i system fra en server og til en anden server, og nu får jeg følgende fejl: "Notice: Undefined variable: arr in c:\inetpub\wwwroot....". Begge servere er win2000. Hvordan kan jeg nemt undgå denne fejl? Noget med php.ini?
Avatar billede keet Nybegynder
26. november 2003 - 11:50 #1
Fejlen forsvinder med "error_reporting = E_ALL & ~E_NOTICE" men variablerne bliver ikke "godkendt". Det er som om de forskellige variabler der bliver sendt med POST i en form er tomme....
Avatar billede keet Nybegynder
26. november 2003 - 11:51 #2
Jeg bruger fx. bare $username for at tilgå en variabel der bliver sendt med POST. Det virker ikke rigtig på den nye server. Kan det have noget med php versionen at gøre?
Avatar billede erikjacobsen Ekspert
26. november 2003 - 11:54 #3
Brug $_POST['username']
Avatar billede detox Nybegynder
26. november 2003 - 11:54 #4
Ja, i nyere versioner skal du bruge: $_POST['username'] og vil du undgå notitsen kan du bruge:
if (isset($_POST['username'])) {
  // Do whatever you like
}
Avatar billede keet Nybegynder
26. november 2003 - 12:00 #5
ved du hvor jeg kan finde ældre versioner af php som win installer?
Avatar billede erikjacobsen Ekspert
26. november 2003 - 12:23 #6
Du skal ikke gå tilbage til at bruge $username - det er at bombe din
PHP tilbage til stenalderen. Der er god grund til at det er fjernet.
Du *kan* rent teoretisk ændre det i php.ini i din nuværende installation -
men la' vær'
Avatar billede fangel Nybegynder
26. november 2003 - 13:55 #7
umidbart lyder det som et register_globals problem

hvis denner = on, så er variabler fra addresselinien og fra forme osv inde globalt i scriptet (fx ?side=2 => $side == 2)

hvis = off, så bliver de kun registeret i et sæt prædefinerede superglobale arrays (x ?side=2 => $_GET['side'] == 2)

disse superglobale arrays kan du læse om her
http://dk2.php.net/manual/en/reserved.variables.php

så du skal bare omstrukturere dit script (og vende dig til) kun at gå ud fra register_globals=off - så vil de virke på alle nyere servere, uanset opsætning... det er god skik

Morten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester