Ik ben laatst begonnen met het boek Basis Cursus PHP 5.4 van Victor Peters. Ben op het punt aangekomen dat er een login script wordt gemaakt. Echter krijg ik dit script niet aan de praat. Er worden geen foutmeldingen gegeven. Het lijkt erop dat de functies niet aangeroepen worden, omdat ik een lege pagina terug krijg.
Mijn vraag is of iemand mij erop kan wijzen wat er fout gaat of pointers kan geven. :)
index.php
<?php
session_start();
// IDENTIFICATIE
if( isset($_SESSION['sid']) || ($_COOKIE['PHPSESSID']) != $_SESSION['sid'] ):
header('location: ./login.php');
endif;
// VIEW
?>
<div>Gebruiker: <?php echo $_SESSION['naam'] ?></div>
<div id="afmeldformulier">
<form name="signup" action="login.php" method="POST">
<input type="submit" name="signout" value="Sign Out Now" />
</form>
</div>
<?php
// ==========
include('../sessie/toonsessie.inc.php');
echo toon_sessie();
?>
login.php
<?php
// CONTROLLER
session_start();
$sessie = false;
$form = '';
if( isset($_POST['signout']) ):
vernietig_sessie();
endif;
if( isset($_SESSION['sid']) && $_COOKIE['PHPSESSID'] == $_SESSION['sid']):
$sessie =true;
header('location: ./index.php');
else:
if( isset($_POST['in']) ):
$controleer = signin($fouten);
if( $controleer === false ):
$form = form_in($fouten);
else:
maak_sessie($controleer);
$sessie = true;
header('location: ./index.php');
endif;
elseif( isset($_POST['up']) ):
if( !signup($fouten) ):
$form = form_up($fouten);
else:
maak_sessie($_POST['naam']);
$sessie = true;
header('location: ./index.php');
endif;
elseif( isset($_GET['signin']) ):
$form = form_in();
elseif( isset($_GET['signup']) ):
$form = form_up();
else:
$form = form_inup();
endif;
endif;
// FUNCTIES
function signin(&$terug) {
$ok = true;
if( $_POST['mail'] == '' ):
$terug['error_mail'] = 'Vul uw e-mailaders in.';
$ok &= false;
endif;
if( $_POST['pass'] == ''):
$terug['error_pass'] = 'Vul uw wachtwoord in.';
$ok &= false;
endif;
if( $ok ):
// Controleer gegevens in de database
// haal NAAM uit database
if( true ):
return "NAAM";
else:
$terug['error_mail'] = 'Gegevens niet correct.';
return false;
endif;
else:
return false;
endif;
}
function signup(&$terug) {
$ok = true;
if( $_POST['naam'] == '' ):
$terug['error_naam'] = 'Vul uw naam in.';
$ok &= false;
endif;
if($_POST['mail'] == ''):
$terug['error_mail'] = 'Vul uw e-mail in.';
$ok &= false;
endif;
if( $_POST['pass1'] == '' || $_POST['pass1'] != $_POST['pass2'] ):
$terug['error_pass'] = 'Vul tweemaal hetzelfde wachtwoord in.';
$ok &= false;
endif;
if( $ok ):
// Controleer in database of e-mail nog niet in gebruik is
if( true ):
// Maak nieuw record in database
return true;
else:
$terug['error_mail'] = 'E-mailadres al in gebruik.';
return false;
endif;
else:
return false;
endif;
}
function maak_sessie($naam) {
$_SESSION['sid'] = session_id();
$_SESSION['naam'] = $naam;
}
function vernietig_sessie() {
session_unset();
session_destroy();
setcookie('PHPSESSID', '', time()-3600, './');
}
function form_inup() {
return '
<h1>Sign Up & In</h1>
<a href ="'.$_SERVER['SCRIPT_NAME'].'?signin">Sign In</a> of
<a href ="'.$_SERVER['SCRIPT_NAME'].'?signup">Sign Up</a>
';
}
function form_in( $gegevens = array() ) {
$regels = '<h1>Sign In</h1>';
$regels .= '<form name="signin" action="" method="POST">';
if( isset($gegevens['error_mail']) ):
$regels .= $gegevens['error_mail'].'<br />';
endif;
$regels .= '
E-mailadres:
<input type="text" name="mail" value="'.$_POST['mail'].'" /><br />
';
if( isset($gegevens['error_pass']) ):
$regels .= $gegevens['error_pass'].'<br />';
endif;
$regels .= '
Wachtwoord:
<input type="password" name="pass" value="" /><br />
<input type="submit" name="in" value="Sign In Now" /><br />
';
$regels .= '</form>';
return $regels;
}
function form_up( $gegevens = array() ) {
$regels = '<h3>Sign Up</h3>';
$regels .= '
<form name="signup" action="" method="POST">
';
if( isset($gegevens['error_mail']) ):
$regels .= $gegevens['error_mail'].'<br />';
endif;
$regels .= '
E-Mailaders:
<input type="text" name="mail" value="'.$_POST['mail'].'" /><br />
';
if( isset($gegevens['error_naam']) ):
$regels .= $gegevens['error_naam'].'<br />';
endif;
$regels .= '
Naam:
<input type="text name="naam" value="'.$_POST['naam'].'" /><br />
';
if( isset($gegevens['error_pass']) ):
$regels .= $gegevens['error_pass'].'<br />';
endif;
$regels .= '
Wachtwoord:
<input type="password" name="pass1" value="" /><br />
Herhaal wachtwoord:
<input type="password" name="pass2" value="" /><br />
<input type="submit"name="up" value="Sign Up Now" /><br />
';
$regels .= '</form';
return $regels;
}
function form_out() {
return '
<div><form name="signup" action="./" method="POST">
<input type="submit" name="signout" value="Sign Out Now" />
</form></div>
';
}
?>