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:

<?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:

<?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:

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:


<?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
}         
?>
<?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 '';
}
}
?>
Bedankt Gerhard en Vincent

Reageren