gebruik van "if" of van "case"

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jacques Jansen

Jacques Jansen

30/01/2017 17:27:55
Quote Anchor link
Ik heb een inlog script van internet opgedaan dat eindigt in een beschermde pagina. Ik wilde op deze pagina een drietal voorwaardelijke links plaatsen, waarvoor ik een php-routine met if en elseif gebruikte. Het resultaat was een foutmelding serverfout 500. Als ik alleen de links plaats e(en geen if-routine) worden ze ondanks dat ik variabelen gebruik keurig afgedrukt. EEn poging met case leidde tot de zelfde foutmelding.

scripts:
config.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    define('DB_HOST', 'localhost');
    define('DB_USER', 'xxxx');
    define('DB_PASSWORD', 'xxxx');
    define('DB_DATABASE', 'test_lra');
?>

auth.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
    //Start session
    session_start();
    
    //Check whether the session variable SESS_MEMBER_ID is present or not
    if(!isset($_SESSION['SESS_MEMBER_ID']) || (trim($_SESSION['SESS_MEMBER_ID']) == '')) {
        header("location: access-denied.php");
        exit();
    }

?>

login-exec.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
    //Start session
    session_start();
    
    //Check whether the session variable SESS_MEMBER_ID is present or not
    if(!isset($_SESSION['SESS_MEMBER_ID']) || (trim($_SESSION['SESS_MEMBER_ID']) == '')) {
        header("location: access-denied.php");
        exit();
    }

?>

login-form.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login Form</title>
<link href="loginmodule.css" rel="stylesheet" type="text/css" />
</head>
<body>
<p>&nbsp;</p>
<form id="loginForm" name="loginForm" method="post" action="login-exec.php">
  <table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
    <tr>
      <td width="112"><b>Gebruikersnaam</b></td>
      <td width="188"><input name="login" type="text" class="textfield" id="login" /></td>
    </tr>
    <tr>
      <td><b>Wachtwoord</b></td>
      <td><input name="password" type="password" class="textfield" id="password" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Login" /></td>
    </tr>
  </table>
</form>
</body>
</html>

member-index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
    require_once('auth.php');

ini_set('display_errors', 'On');
error_reporting(E_ALL);
    
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Member Index</title>
<link href="loginmodule.css" rel="stylesheet" type="text/css" />
</head>
<body>

<?php
if $_SESSION['SESS_GRAAD'] == 3 { ?>

        <h1>Welkom <?php echo $_SESSION['SESS_FIRST_NAME']; ?></h1><br/>U bent ingelogd!<br/><br/>
        <a  href="meestern.php">Klik hier om op de meesterpagina te komen!</a>
        <?php
        }
        elseif $_SESSION['SESS_GRAAD'] == 2 { ?>

        <h1>Welkom <?php echo $_SESSION['SESS_FIRST_NAME']; ?></h1><br/>U bent ingelogd!<br/><br/>
        <a  href="gezeln.php">Klik hier om op de gezellenpagina te komen!</a>
        <?php
        }
        elseif $_SESSION['SESS_GRAAD'] == 1 { ?>

        <h1>Welkom <?php echo $_SESSION['SESS_FIRST_NAME']; ?></h1><br/>U bent ingelogd!<br/><br/>
        <a  href="leerlingn.php">Klik hier om op de leerlingpagina te komen!</a>        
<?php
    }
?>

    

</body>
</html>

Dit geeft dus een serverfout 500. waarom volgens mij is er niets fout.
Gaarne uw hulp.

met vriendelijke groet Jacques Jansen
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 30/01/2017 18:50:45 door - Ariën -
 
PHP hulp

PHP hulp

27/11/2024 03:44:20
 
Joakim Broden

Joakim Broden

30/01/2017 17:54:26
Quote Anchor link
Een serverfout 500 kan heel veel betekenen, wat is de PHP error die je krijgt. Daar kunnen we veel meer mee.


Ik weet niet of het een verplichting is, maar zet eens de if statement even tussen haakjes.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if ($_SESSION['SESS_GRAAD'] == 1) {

ipv
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if $_SESSION['SESS_GRAAD'] == 1 {


En je script is onveilig met behulp van session hijacking, alleen maar controleren op SESS_MEMBER_ID is onveilig.
 
- Ariën  -
Beheerder

- Ariën -

30/01/2017 18:51:50
Quote Anchor link
Een serverfout 500 betekent dat je in de log-bestanden op de server moet kijken. Daarin staat precies wat er fout is.
 
Jacques Jansen

Jacques Jansen

31/01/2017 10:21:59
Quote Anchor link
Geweldig het werkt! Bedankt!

Toevoeging op 31/01/2017 10:22:00:

Geweldig het werkt! Bedankt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.