We gaan beginnen met het maken van een simpel membersysteem. U kunt een
voorbeeld bekijken hier.
We beginnen met het maken van een mysql tabel:
CREATE TABLE `members` (
`id` int(11) NOT NULL auto_increment,
`gebruiker` text NOT NULL,
`password` text NOT NULL,
`email` text NOT NULL,
`ip` text NOT NULL,
UNIQUE KEY `id` (`id`)
) TYPE=MyISAM;
|
Nu register.php:
PHP Code:
<?
if(!$_POST['aanmelden'])
{
?>
<FORM action=register.php method=post>
Nick:<br>
<INPUT type=text name=gebruiker>
<BR>
Wachtwoord(minstens 6 tekens):<br>
<INPUT type=password name=pass>
<BR>
Herhaal wachtwoord:<br>
<INPUT type=password name=hpass>
<BR>
Email:<br>
<INPUT type=text name=email>
<BR>
<input type=submit value=Verstuur name=aanmelden>
</form>
<?
}
elseif($_POST['gebruiker'] != "" && $_POST['pass'] != "" && $_POST['hpass'] != "" && $_POST['email'] != "")
// we checken even of alles is ingevuld.
{
$gebruiker =$_POST['gebruiker'];
$pass =$_POST['pass'];
$hpass =$_POST['hpass'];
$email =$_POST['email'];
// we zetten alles om het simpler te maken.
if($pass == $hpass)
// we kijken even of password en repeat password wel het zelfde zijn
{
if(strlen($pass) >= 6)
// we controleren of het password lang genoeg is
{
$database ="database naam";
$server ="localhost";
$user ="gebruikersnaam";
$wachtwoord ="wachtwoord";
mysql_connect($server,$user,$wachtwoord);
mysql_select_db($database);
$query = mysql_query("SELECT * FROM members WHERE gebruiker ='$gebruiker'");
// we voeren de query uit
$aantalrijen =mysql_num_rows($query);
// we tellen het aantal rijen
if($aantalrijen == 1)
// Checken of het 1 rij is zoja dan bestaat de naam al
{
print "Gebruikersnaam bestaat al!";
}
else
{
$md5password =md5($pass);
// we coderen het password in md5 dit is een one way hash.
$ip=$REMOTE_ADDR;
// we vragen ip adres op
// we hebben de verbinding met de database nog
$query = "INSERT INTO members(gebruiker, password, email, ip) VALUES ('$gebruiker','$md5password','$email','$ip')";
mysql_query($query) or die (mysql_error());
print "U bent aangemeld.";
}
}
else
{
print "wachtwoord is te kort.";
}
}
else
{
print "Wachtwoorden zijn niet gelijk.";
}
}
?>
|
Zo nu kan je je registreren.
We hebben het password gecodeerd in md5 deze kan je niet meer terug halen de enige manier om te controleren of het hetzelfde password is is door te kijken of het wachtwoord weer gecodeerd in md5 hetzelfde resultaat op levert.
En dan nu login.php:
PHP Code:
<?
session_start();
// Geen output voor deze code!
?>
<?
if($actie)
{
session_destroy();
print "uitgelogd";
}
else
{
if(!$gebruiker)
{
if(!$login)
{
?>
<FORM action=login.php?login=ja method=post>
Nick:<br>
<INPUT type=text name=gebruiker>
<BR>
Wachtwoord:<br>
<INPUT type=text name=pass><br>
<input type=submit value=Verstuur name=submit>
</form>
<?
}
elseif($_POST['gebruiker'] != "" && $_POST['pass'] != "")
{
$gebruiker =addslashes($_POST['gebruiker']);
$md5password =md5($pass);
$login ="true";
$database ="database naam";
$server ="localhost";
$user ="gebruikersnaam";
$wachtwoord ="wachtwoord";
mysql_connect($server,$user,$wachtwoord);
mysql_select_db($database);
$query = mysql_query("SELECT * FROM members WHERE gebruiker = '$gebruikersnaam' and password = '$md5password'");
$aantalrijen =mysql_num_rows($query);
if($aantalrijen > 0)
{
print "U bent al ingelogd als $gebruiker,<P> <a href=login.php?actie=uitloggen>log uit.</a>";
session_register("login");
session_register("gebruiker");
}
else
{
print "verkeerd password";
}
}
}
else
{
print "U bent al ingelogd als $gebruiker,<P> <a href=login.php?actie=uitloggen>log uit.</a>";
}
}
?>
|
memberlist.php:
PHP Code:
<?
$database ="database naam";
$server ="localhost";
$user ="gebruikersnaam";
$wachtwoord ="wachtwoord";
mysql_connect($server,$user,$wachtwoord);
mysql_select_db($database);
$query = mysql_query("SELECT * FROM members");
$nr=0;
print "<table><tr bgcolor=#dcdcdc><td> # </td><td> Gebruikersnaam </td><td> Email adres </td></tr>";
while ($gegeven = mysql_fetch_object($query)) {
$naam =$gegeven->gebruiker;
$email =$gegeven->email;
$nr++;
print "<tr><td>$nr</td><td>$naam</td><td>$email</td></tr> ";
}
print "</table>";
?>
|
Zo dat was dan het lessensysteem je kan nog proberen een profiel pagina en een admin te maken en natuurlijk het design te verbeteren.
Als u iets niet snapt kunt u altijd even naar het forum gaan.
|