Ik ben bezig met volgend login-script.

Dit is de code:

<<<<<<config.php>>>>>>>>>>

<?php
// De inlog gegevens van de gebruikers hier in vullen tussen de ""
?>
<?
$username="admin"; // jouw gebruikersnaam
$password="pass"; // jouw wachtwoord
?>


<<<<<login.php>>>>>>

<?

session_start();
include "config.php";
if(!empty($_POST)) {
$_SESSION["username"]=$_POST["username"];
$_SESSION["password"]=$_POST["password"];

if($_SESSION["username"]!=$username) || ($_SESSION["password"]!=$password) {

die("Je hebt een verkeerde gebruikersnaam of wachtwoord ingevoerd!<br> <a href="login.php">Terug</a>");

session_destroy();
}else{
header("Location: geheim.php");
}
}else{
?>
<html>
<body>
<form method=post action="<? echo($_SERVER["PHP_SELF"]);?>">
Gebruikersnaam: <input name=username><br>
Wachtwoord: <input name=password type=password><br>
<input type=submit value="Inloggen!">
</form>
</body>
</html>
<?
}
?>

<<<<<geheim.php>>>>>>>

<?
session_start();
if(!isset($_SESSION["username"]) || !isset($_SESSION["password"])) 

die("<h2>Je hebt niet correct ingelogd!</h2><br><a href="login.php">Klik hier om in te loggen</a>");

}else{
?>
<html>
<head>
<title>Beveiligde pagina</title>
</head>
<body>
<h2>Welkom <? echo($_SESSION["username"]); ?>, je hebt correct ingelogd!</h2>
<a href="logout.php">Uitloggen</a>
</body>
</html>
<?
}
?>

<<<<<loguit.php>>>>>>

<?
session_start();
if(!isset($_SESSION["username"]) || !isset($_SESSION["password"])) {

die("Je moet eerst ingelogd zijn. <a href="login.php">Log hier in.</a>");

}else{
session_unset();
session_destroy();

echo "Je bent nu uitgelogd.<br>";
echo "De pagina <a href="geheim.php">geheim.php</a> is niet meer bereikbaar.<br>";
echo "Log <a href="login.php">hier</a> eventueel weer in.";

}
?>

,

maar ik krjg volgende foutboodschap.

Parse error: parse error in c:\program files\easyphp1-8\www\logtest\login.php on line 22

Dit is lijn 22


if($_SESSION["username"]!=$username) || ($_SESSION["password"]!=$password) {



Ik heb al zitten kijken, maar ik weet nie echt goed wat er fout loopt. Kan er iemand mij helpen?
Ja, maar php sluiten en gelijk weer openen heeft geen enkel nut. Dat kun je dus weghalen.
Oops, inderdaad. Ik krijg nog altijd volgende boodschap.

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\logtest\config.php:5) in c:\program files\easyphp1-8\www\logtest\login.php on line 14

OK, mijn probleem is opgelost. Ik heb gezorgd dat het teveel aan witruimtes weg zijn. Bedankt allemaal.
Volgend probleem. Momenteel kan ik hiermee één pagina beveiligen, in dit geval geheim.php
Hoe kan ik ervoor zorgen dat ik meerdere pagina's kan beveiligen. Moet ik dan met een array of zo werken?
Ik denk dat er iets in volgend bestand moet aangepast worden.

login.php
<?
session_start(); 
include "config.php"; 
if(!empty($_POST)) { 
$_SESSION["username"]=$_POST["username"]; 
$_SESSION["password"]=$_POST["password"]; 

if ($_SESSION["username"] != $username || $_SESSION["password"] != $password ) {
die ('Je hebt een verkeerde gebruikersnaam of wachtwoord ingevoerd!<br> <a href="login.php">Terug</a>'); 

session_destroy(); 
}else{ 
header("location: geheim.php"); 
} 
}else{ 
?> 
<html> 
<body> 
<form method=post action="<? echo($_SERVER["PHP_SELF"]);?>"> 
Gebruikersnaam: <input name=username><br> 
Wachtwoord: <input name=password type=password><br> 
<input type=submit value="Inloggen!"> 
</form> 
</body> 
</html> 
<? 
} 
?>

Je kan de pagina's die je wilt beveiligen op dezelfde manier als geheim.php indelen. Als je dan op de login.php dit:
header("location: geheim.php");
vervangt door gewone linken naar de diverse pagina's ben je klaar.
Okido, bedankt, kzal me er eens mee bezig houden.
Op deze manier lukt het niet:

<?
session_start(); 
include "config.php"; 
if(!empty($_POST)) { 
$_SESSION["username"]=$_POST["username"]; 
$_SESSION["password"]=$_POST["password"]; 

if ($_SESSION["username"] != $username || $_SESSION["password"] != $password ) {
die ('Je hebt een verkeerde gebruikersnaam of wachtwoord ingevoerd!<br> <a href="login.php">Terug</a>'); 

session_destroy(); 
}else{ 
'<a href="test1.php">test1</a><br /><a href="test2.php">test2</a>'; 
} 
}else{ 
?> 
<html> 
<body> 
<form method=post action="<? echo($_SERVER["PHP_SELF"]);?>"> 
Gebruikersnaam: <input name=username><br> 
Wachtwoord: <input name=password type=password><br> 
<input type=submit value="Inloggen!"> 
</form> 
</body> 
</html> 
<? 
} 
?>
dat is niet zo mooi dan..
Wat doe ik verkeerd? Of ligt het niet aan mij (wat me zou verbazen ;), maar kom)
Beetje vage vraag. Wat doet ie wel en wat niet?

Reageren