Hvis vi havde samlet al den tid, der er spildt i PHP (og andre scriptsprog) på at finde fejl forårsaget af udefinerede variabler, uinitialiserede variabler, ikke-eksisterende indexer osv osv, der normalt fanges af fx et sprog som Java, så havde menneskeheden haft så meget tid til overs, at vi nemt kunne klaret verdensfreden, hungersnøden, at sende mennesker til Mars og Pluto (dem vi helst vil af med naturligvis).
Så betragt det ikke kun som "politisk korrekt", men som en hjælp til at fange de irriterende småfejl meget hurtigere. Man skal dog lige vænne sig til det ;)
funktionen isset(...) tester een og kun een ting. "er den variabel defineret?" når du derefter vil teste på HVAD der står i variabelen skal du bruge en separat sammenligning (som erikjacobsen viser det)
erikjacobsen << lige for at uddybe min forrige kommentar. Så vidt jeg kan se tester din kode ikke com $_COOIKE['login'] er lig $password, men min gør :) (så nemt kunne det siges)
det 'foretrukne' er desværre at være doven og skrive det som du startede med i spørgsmålet, det går godt tilstrækkelig ofte til at mange tror det er nok.
når sådan en betingelse udregnes starter man indeni de inderste parenteser isset( $_COOKIE['cookie_login'] ) den bliver til true hvis den celle findes i _COOKIE arrayert og false hvis den ikke gør, det er ligesådan med den anden isset den bliver også til true eller false. så står der: (fx) ( ( false || true ) == $password )
false eller true giver true så nu står der:
( ( true ) == $password )
php laver autokenvertering af variable og siden første led er en boolean værdi vil den også prøve at gøre andet led til en boolean værdi. konvertereingsreglen for strenge er at alt andet end en tom streng ("") giver true, så hvis der står nogetsomhelst i din variabel $password bliver det:
Det hedder indrykning og jeg er MEGET glad for det. fidusen er at man skriver det så man kan SE hvilken slutparentes der hører til hvilken startparentes.
Det virker bedst på en fastbredde font her med e's proportionalfont skal man kende metoden for at se at slutparenteserne altid står lige under den startparentes de hører sammen med.
jakoba << jeg ved godt at der blev lidt knas med paranteserne i den 15:38:50, men har selv rettet det :)
Desuden tror jeg lige jeg går i seng, og gemmer PHP væk til imorgen, hvor jeg (forhåbenligt) er lidt mere vågen :P
NÅ, du skal under alle omstændigheder have mange tak for hjælpen :)
Synes godt om
Ny brugerNybegynder
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.