Avatar billede kongknabe Nybegynder
15. juli 2009 - 18:30 Der er 3 kommentarer og
1 løsning

Undefined index & Undefined variable

Hejsa.

Jeg har over et stykke tid arbejdet på en PHP løsning lokalt på min computer og oplevede pludselig at få fejl ala "Undefined index..." da jeg flyttede siden til en ny server.

Jeg er kommet så langt som til at finde ud af at jeg undgår denne fejl ved at omskrive følgende

$myVar = $_REQUEST['myVAr'];

til følgende:

if (isset($_REQUEST['myVar'])) {

    $myVar = $_REQUEST['myVAr'];
}

Det løste problemet for mig.. men nu får jeg til gengæld en ny fejlmeddelelse alle de steder jeg benytter $myVar - Nemlig "Undefinde variable..."

Hvordan løser jeg dette?
Avatar billede coderdk Praktikant
15. juli 2009 - 18:40 #1
Initialisér de variable du skal bruge, evt.:

if ( isset( $_REQUEST['myVar'] ) )
{
    $myVar = $_REQUEST['myVAr'];
}
else
{
    $myVar = '';
}

Eller kortere:

$myVar = isset( $_REQUEST['myVar'] ) ? $_REQUEST['myVar'] : '';
Avatar billede kongknabe Nybegynder
15. juli 2009 - 18:46 #2
Tusind tak... Den sidste linje var lige det jeg ledte efter! :D

Smid et svar for point :)

- Og hvis du lige kan svare på et lidt pinligt bonus spørgsmål bliver jeg glad:

Hvad er forskellen på

if (!$myVar) {}

og

if ($myVar == '') {}
Avatar billede coderdk Praktikant
15. juli 2009 - 18:51 #3
man bør kun bruge

if ( !$myVar )

og

if ( $myVar )

hvis $myVar er en bool (true/false) - det andet er ikke pænt, men svarer lidt til if ( !isset( $myVar ) ) hvis du har notices slået fra
Avatar billede kongknabe Nybegynder
15. juli 2009 - 18:56 #4
Takker for hjælpen! :)
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