heey hoi,

ik zoek eigenlijk een inlogsysteem in php, voor een hele grote groep met 1 inlog naam en wachtwoord. wanneer iemand dan heeft in gelogt dat diegene dan naar een soort indexpagina gaat en daar kan kiezen naar de verschillende pagina's een stuk of 5 maximaal, meer zullen het er niet worden.

ik heb dit nodig voor bij mij op het werk, waar ze voor de schooljeugd een soort inlogpagina willen hebben en achter deze pagina moet dan informatie komen voor de jeugd. en ook nog een keer een kalender waarop iedereen kan invullen wanneer hij of zij kan werken.
maar dat is toekomst.

wie o wie kan mij helpen, ik heb hier al veelvuldig gezocht en geprobeerd, maar mijn php kennis is ongeveer niveau beginneling...

U zou zo iets kunnen maken zoals dit:

<?php
     /* Gebruikersnaam en Wachtwoord */
     $Gebruikersnaam = "admin";
     $Wachtwoord = "21232f297a57a5a743894a0e4a801fc3"; // admin
     
     /* Kijkt of eral gepost is,
     zoja gaat die verder met wat tussen de { } staat */
     if(isset($_POST['inloggen'])){

         /* Haalt de geposten dingen op en beveiligt ze */
         $Post_Gebruikersnaam = htmlspecialchars($_POST['gebruikersnaam']);
         $Post_Wachtwoord = htmlspecialchars($_POST['wachtwoord']);
         $Post_Wachtwoord_MD5 = md5($Post_Wachtwoord);

         /* Kijkt of de invoer veld ingevuld zijn zo niet
         Geeft die een error weer */
         if (empty($Post_Gebruikersnaam)){
             $error = '<br>Vul een gebruikersnaam in.';
         }

         if (empty($Post_Wachtwoord)){
             $error.= '<br>Vul een wachtwoord in.';
         }

         if ($Post_Wachtwoord_MD5 != $Wachtwoord || $Post_Gebruikersnaam != $Gebruikersnaam){
             $error.= '<br>Gebruikersnaam of Wachtwoord kloppen niet.';
         }

         if(isset($error)){
             echo 'Verbeter het volgende:';
             echo $error;
             exit;
         }
         else
         {
             /* Pagina die je krijgt als je ingelogd bent */
             $Ingelogd = "True";
             include ('index2.php');
         }
     }
?>


Ik weet niet of u zo iets bedoeld, maar in de variabelen staan de gebruikersnaam en wachtwoord.
Die kunt u simpel wijzingen, ik heb het wachtwoord in MD5 erin gezet stukje veiliger.
hallo bart,

in principe is het niet moeilijk. weet je zeker dat je het op met 1 gebruikersnaam en wachtwoord wilt doen? of moet het in de toekomst ook uitbreidbaar zijn naar meerdere gebruikersnamen en wachtwoorden?

als je het gewoon op 1 gebruikersnaam en wachtwoord wilt houden kun je zoiets als dit doen.

<?php
if (($_POST['gebruikersnaam'] == 'gebruikersnaam') && $_POST['wachtwoord'] == 'wachtwoord')
{
//hier je indexpagina
}
else
{
echo('Dit is niet de goede inlogcombinatie!');
}
?>


dit is nog maar heel simpel, maar het berust op dit principe.
Het zou ook met .htaccess en .htpasswd kunnen.

Er is zelfs een online tool voor die automatisch de juiste bestanden genereert.
@benny:
ik heb de code gekopieerd en geplakt, de user en w8wrd verandert, maar hij doet niks bij mij, gewoon blanco pagina, ook bij include heb ik de pagina ingevoegd. wat doe ik niet geod
@Benny: Dat script doet niets meer dan controleren of ingevulde gegevens overeenkomen. In jouw script kun je gewoon www.jouwsite.nl/index2.php bezoeken door er direct naar toe te linken, er wordt nergens gecontroleerd of de bezoeker van die pagina wel ingelogd is.

Op een of andere manier moet je ergens opslaan dat een bepaalde gebruiker is ingelogd. Dit kan met sessies of cookies, waarbij het eerste mijn voorkeur heeft.

Als tijdens het inloggen de ingevulde gegevens blijken te kloppen, maak je een sessie aan waaruit blijkt dat de gebruiker ingelogd is:
<?php
$_SESSIOn['logged_in'] = true;
?>

Op pagina's die alleen ingelogde gebruikers mogen zien kun je dan controleren of deze sessie bestaat:
<?php
if(isset($_SESSION['logged_in']))
{
// Toon de pagina
}
else
{
// Stuur gebruiker terug
}
?>
Blanche schreef op 21.10.2006 14:48
@Benny: Dat script doet niets meer dan controleren of ingevulde gegevens overeenkomen. In jouw script kun je gewoon www.jouwsite.nl/index2.php bezoeken door er direct naar toe te linken, er wordt nergens gecontroleerd of de bezoeker van die pagina wel ingelogd is.

Op een of andere manier moet je ergens opslaan dat een bepaalde gebruiker is ingelogd. Dit kan met sessies of cookies, waarbij het eerste mijn voorkeur heeft.

Als tijdens het inloggen de ingevulde gegevens blijken te kloppen, maak je een sessie aan waaruit blijkt dat de gebruiker ingelogd is:
<?php
$_SESSIOn['logged_in'] = true;
?>

Op pagina's die alleen ingelogde gebruikers mogen zien kun je dan controleren of deze sessie bestaat:
<?php
if(isset($_SESSION['logged_in']))
{
// Toon de pagina
}
else
{
// Stuur gebruiker terug
}
?>


Waar zet ik deze 2 code's neer als ik vragen mag? die laatste code op elke pagina die ze mogen zien als ze ingelogd zijn neem ik aan,

maar die korte code dan?
Die korte plaats je in je login-script. Als je gecontroleerd hebt of de ingevulde gebruikersnaam en wachtwoord kun je met die code een sessie aanmaken waaruit blijkt dat de gebruiker ingelogd is.

Vergeet trouwens niet je loginscript en alle beveiligde pagina's te beginnen met session_start(), anders zal het hele verhaal niet werken.
ohkee, dat heb ik nu gedaan, maar ik kan nergens mijn user en w8wrd invullen :S
Tja, je zult natuurlijk zelf nog wel even een formuliertje moeten maken, dat staat in bovenstaande script nog niet.
ik heb nu dit staan: klopt dit want hij vraagt bij action naar iets waar moet ik dat heen verwijzen?

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form method="post" action="secure_page.php" class="login">
<h1>Inlogscherm</h1>
<p>
<label for="username">username:</label>
<input id="username" name="username" type="text">
</p>
<p>
<label for="password">password:</label>
<input id="password" name="password" type="password">
<input type="submit" value="inloggen">
</p>
</form>
<?php
/* Gebruikersnaam en Wachtwoord */
$Gebruikersnaam = "baas";
$Wachtwoord = "enserweg"; // admin

/* Kijkt of eral gepost is,
zoja gaat die verder met wat tussen de { } staat */
if(isset($_POST['inloggen'])){

/* Haalt de geposten dingen op en beveiligt ze */
$Post_Gebruikersnaam = htmlspecialchars($_POST['gebruikersnaam']);
$Post_Wachtwoord = htmlspecialchars($_POST['wachtwoord']);
$Post_Wachtwoord_MD5 = md5($Post_Wachtwoord);

/* Kijkt of de invoer veld ingevuld zijn zo niet
Geeft die een error weer */
if (empty($Post_Gebruikersnaam)){
$error = '<br>Vul een gebruikersnaam in.';
}

if (empty($Post_Wachtwoord)){
$error.= '<br>Vul een wachtwoord in.';
}

if ($Post_Wachtwoord_MD5 != $Wachtwoord || $Post_Gebruikersnaam != $Gebruikersnaam){
$error.= '<br>Gebruikersnaam of Wachtwoord kloppen niet.';
}

if(isset($error)){
echo 'Verbeter het volgende:';
echo $error;
exit;
}
else
{
/* Pagina die je krijgt als je ingelogd bent */
$Ingelogd = "True";
include ('index2.php');
}
}
?>
<?php
$_SESSIOn['logged_in'] = true;
?>
</body>
</html>

Reageren