PHP ver gevorderde |
|
Als ik dit script probeer:
<?php if(isset($_POST['Submit'])) {
$checkg = mysql_result(mysql_query("SELECT COUNT(*) FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'"),0);
$checkp = mysql_result(mysql_query("SELECT COUNT(*) FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".$_POST['wachtwoord']."'"),0);
if($_POST['gebruikersnaam'] == "" || $_POST['wachtwoord'] == "") {
$error[] = 'Vul alle velden in!';
}
if($checkg == 0 && $_POST['gebruikersnaam'] != "") {
$error[] = 'Gebruikersnaam niet herkend!';
}
if($_POST['wachtwoord'] != "" && $_POST['gebruikersnaam'] != "" && $checkp == 0) {
$error[] = 'Verkeerd wachtwoord!';
}
$fouten = sizeof($error); // aantal errors tellen
if($fouten != 0) { // Er is minstens 1 error
echo '<ul>';
for($i = 0; $i < $fouten; $i++) {
echo '<li>'.$error[$i].'</li>';
}
echo '</ul>';
} else {
session_start();
$leden_sql = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'");
$leden_rij = mysql_fetch_assoc($leden_sql);
setcookie("gebruikersnaam",$leden_rij['gebruikersnaam'],time()+32140767859200,"/");
setcookie("wachtwoord",$leden_rij['wachtwoord'],time()+32140767859200,"/");
$_SESSION['gebruiker'] = $leden_rij['gebruikersnaam'];
$_SESSION['gid'] = $leden_rij['id'];
echo "sessie gestart";
//header("Location: ingelogged.php");
}
} ?>
<?php if(isset($_POST['Submit'])) { $checkg = mysql_result(mysql_query("SELECT COUNT(*) FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'"),0); $checkp = mysql_result(mysql_query("SELECT COUNT(*) FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".$_POST['wachtwoord']."'"),0); if($_POST['gebruikersnaam'] == "" || $_POST['wachtwoord'] == "") { $error[] = 'Vul alle velden in!'; } if($checkg == 0 && $_POST['gebruikersnaam'] != "") { $error[] = 'Gebruikersnaam niet herkend!'; } if($_POST['wachtwoord'] != "" && $_POST['gebruikersnaam'] != "" && $checkp == 0) { $error[] = 'Verkeerd wachtwoord!'; } $fouten = sizeof($error); // aantal errors tellen if($fouten != 0) { // Er is minstens 1 error for($i = 0; $i < $fouten; $i++) { echo '<li>'.$error[$i].'</li>'; } } else { $leden_sql = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'"); setcookie("gebruikersnaam",$leden_rij['gebruikersnaam'],time()+32140767859200,"/"); setcookie("wachtwoord",$leden_rij['wachtwoord'],time()+32140767859200,"/"); $_SESSION['gebruiker'] = $leden_rij['gebruikersnaam']; $_SESSION['gid'] = $leden_rij['id']; //header("Location: ingelogged.php"); } } ?>
Werkt alles, want hij echo't 'sessie gestart', maar als ik dan de // voor de header eronder weghaal gaat ie naar:
deze pagina:
<?php
ob_start();
include "../functies.php";
if(!isset($_SESSION['gebruiker'])) {
header("Location: a.php");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Succesvol ingelogged!</title>
</head>
<body>
<p>Welkom,
<? echo $_SESSION['gebruiker']; ?>
</p>
<p>--> <a href="afmelden.php">Afmelden</a> </p>
<p> </p>
</body>
</html>
<?php include "../functies.php"; if(!isset($_SESSION['gebruiker'])) { } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Succesvol ingelogged!</title> </head> <body> <p>Welkom, <? echo $_SESSION['gebruiker']; ?> </p> <p>--> <a href="afmelden.php">Afmelden</a> </p> <p> </p> </body> </html>
Nu, wat ik ook probeer, ik word altijd direct naar a.php gestuurd... Wat kan de fout zijn?
|