Ik wil de Superglobal $_GET met de Switch Statement gebruiken voor in een url een error mee voor een inlog pagina. Deze code gebruik ik:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
switch(isset($_GET['error']))
{
case 1 :
echo 'Uw gebruikersnaam of wachtwoord is verkeerd.';
break;
case 2 :
echo 'U bent niet ingelogd.';
break;
default :
echo '';
}
?>
Als ik deze code gebruik komt er altijd "Uw gebruikersnaam of wachtwoord is verkeerd." te staan als ik nou in de url error=1, error=2 of error= 20 zet. Als ik de error= weg laat komt er niks te staan.
Als ik nu isset() weg laat is dit m'n code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
switch($_GET['error'])
{
case 1 :
echo 'Uw gebruikersnaam of wachtwoord is verkeerd.';
break;
case 2 :
echo 'U bent niet ingelogd.';
break;
default :
echo '';
}
?>
Nu werken de url parameter (zo heet dat toch???) wel bij het nummer maar als ik de parameter weghaal krijg ik deze error:
Code (php)
1
Notice: Undefined index: error in C:\wamp\www\vakken_rss\admin\login.php on line 21
Hoe los ik dit probleem op?
Je had hem bijna goed in je eerste voorbeeld alleen moet de isset voor de switch:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if(isset($_GET['error']))
{
switch($_GET['error'])
{
case 1 :
echo 'Uw gebruikersnaam of wachtwoord is verkeerd.';
break;
case 2 :
echo 'U bent niet ingelogd.';
break;
default :
echo '';
}
}
else{
// geen $_GET['error'] deze else kan je dan weglaten
}
?>
Gewijzigd op 03/09/2011 17:05:08 door
gerhard lBedankt Gerhard en Vincent