SESSION Probleem.

Gestart doorDigital10 reacties26 weergaven

11 berichten · pagina 1 van 1

Digital

Lid · Topicstarter

Berichten
326
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo,
Ik heb nogmaals eens probleempje.
Mijn script werkt. Hij checkt. maar toch een notice.

[COLOR= #0000BB]<?PHP[/COLOR]
[URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]login[/COLOR][COLOR= #007700]] !=[/COLOR] [COLOR= #DD0000]yes[/COLOR][COLOR= #007700])[/COLOR] 
[URL="http://www.php.net/else"]else[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Je bent niet ingelogd, <a href="login.php">log in</a>[/COLOR][COLOR= #007700]);[/COLOR]
?>


Undefined index: login on line 3
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]login[/COLOR][COLOR= #007700]] !=[/COLOR] [COLOR= #DD0000]yes[/COLOR][COLOR= #007700])
{[/COLOR]
    
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Je bent niet ingelogd, <a href="login.php">log in</a>[/COLOR][COLOR= #007700];
    
}[/COLOR]
?>
0
Berichten
1.053
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
De joune digital werkt totaal niet. Je maakt een if, maar je opent/sluit hem niet. En je gebruikt else als echo? Klopt niet echt he.
0
Berichten
6.144
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]login[/COLOR][COLOR= #007700]] !=[/COLOR] [COLOR= #DD0000]yes[/COLOR][COLOR= #007700])
{[/COLOR]
    
    [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Je bent niet ingelogd, <a href="login.php">log in</a>[/COLOR][COLOR= #007700]);
    
}[/COLOR]
?>


Zo zou ik hem doen.
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Jponsen schreef:
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]login[/COLOR][COLOR= #007700]] !=[/COLOR] [COLOR= #DD0000]yes[/COLOR][COLOR= #007700])
{[/COLOR]
    
    [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Je bent niet ingelogd, <a href="login.php">log in</a>[/COLOR][COLOR= #007700]);
    
}[/COLOR]
?>
Zo zou ik hem doen.

Je moet die() eigenlijk nooit gebruiken omdat dan je hele script stopt, en dat wil je niet. Je wil onderaan nog een mooie footer weergeven etc., dus je moet het gewoon puur met if-else-constructies doen zonder die of exit te gebruiken.
0
Berichten
6.144
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Als ik een footer erbij wilt doe ik het meestal zo:

Voorbeeld:

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$bla[/COLOR] [COLOR= #007700]===[/COLOR] FALSE[COLOR= #007700]) {[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Klopt niet[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$core[/COLOR][COLOR= #007700]->[/COLOR]template[COLOR= #007700]->[/COLOR]footer[COLOR= #007700]();[/COLOR]
    [URL="http://www.php.net/exit"]exit[/URL][COLOR= #007700];
}[/COLOR]
?>
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Dan heb ik niks gezegd. smile
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Maar het helpt niet tegen zijn fout.

Undefined index: login on line 3

Betekend toch dat de index "login" binnen de $_SESSION array niet bestaat.

Je zult dus iets moeten doen in de trant van:

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]login[/COLOR][COLOR= #007700]])) {[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]login[/COLOR][COLOR= #007700]] !=[/COLOR] [COLOR= #DD0000]yes[/COLOR][COLOR= #007700])
{[/COLOR]
    
    [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Je bent niet ingelogd, <a href="login.php">log in</a>[/COLOR][COLOR= #007700]);
    
}
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL]
[URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Je bent niet ingelogd, <a href="login.php">log in</a>[/COLOR][COLOR= #007700]);[/COLOR]
?>
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Oh die error had ik niet gezien emoDan kun je m beter zo doen:

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700](![/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]login[/COLOR][COLOR= #007700]]) ||[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]login[/COLOR][COLOR= #007700]] !=[/COLOR] [COLOR= #DD0000]yes[/COLOR][COLOR= #007700])
{[/COLOR]
    
    [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Je bent niet ingelogd, <a href="login.php">log in</a>[/COLOR][COLOR= #007700]);
    
}[/COLOR]
?>


scheelt je een if
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Lennard schreef:
Oh die error had ik niet gezien emoDan kun je m beter zo doen:

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700](![/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]login[/COLOR][COLOR= #007700]]) ||[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]login[/COLOR][COLOR= #007700]] !=[/COLOR] [COLOR= #DD0000]yes[/COLOR][COLOR= #007700])
{[/COLOR]
    
    [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]Je bent niet ingelogd, <a href="login.php">log in</a>[/COLOR][COLOR= #007700]);
    
}[/COLOR]
?>
scheelt je een if

Ik wist even niet meer of dat ook een error zou geven omdat ie de 2e vergelijking alsnog zou uitvoeren. Maar hij stopt al als login niet geset is uiteraard.
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
met or wel inderdaad, als er een && ipv die || had gestaan zou je wel een error krijgen omdat ze dan allebei waar moeten zijn zoals je weet, en hij ze dus ook allebei probeert smile
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren