groot-inlogsysteem

Gesponsorde koppelingen

PHP script bestanden

  1. groot-inlogsysteem

« Lees de omschrijving en reacties

- VERSIE 2 BESCHIKBAAR!: http://www.phphulp.nl/php/scripts/8/439/ -
//sql
CREATE TABLE `gebruikers` (
`id` int(8) NOT NULL auto_increment,
`naam` varchar(50) NOT NULL default '',
`wachtwoord` varchar(50) NOT NULL default '',
`status` varchar(10) NOT NULL default '',
`email` varchar(220) NOT NULL default '',
`actief` char(1) NOT NULL default '',
`act_code` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;

//activeren.php
<html>
<head>
<title>Activeren</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
include("config.php");
if($_GET['naam'] != "" AND $_GET['code'] != "") {
 $sql = "SELECT * FROM gebruikers WHERE naam='".$_GET['naam']."'";
 $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
 $rij = mysql_fetch_object($resultaat);
 $act_code = htmlspecialchars($rij->act_code);
 $actief = htmlspecialchars($rij->actief);
 if($_GET['code'] == $act_code) {
  $update = "UPDATE gebruikers SET actief='1',act_code='' WHERE naam='".$_GET['naam']."'";
  $resultaat = mysql_query($update) OR die ("Kon geen verbinding maken met MySQL");
  echo "Bedankt voor het activeren van je account. Je kunt nu <a href='inloggen.php'>hier</a> inloggen.";
 }
else{
  echo "<font color='red'><b>Je activatiecode komt niet overeen met je gebruikersnaam.</b></font>";
 }
}
else{
 echo "<font color='red'><b>Je hebt geen activatiecode en/of naam opgegeven.</b></font>";
}

?>


</body>
</html>

//config.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
// MySQL instellingen
$sitenaam = ""; //de naam van je site
$sitemail = ""; //emailaders van je site
$inlogp = "inloggen.php"; //pagina waar je heen moet gaan als je bent ingelogd
$actiefurl = ""; //de volledige link naar de pagina waar je je activatie code in kunt voeren. bv http://mijnsite.ext/activeren.php
$npassurl = ""; //de volledige link naar de pagina waar je je nieuwe wachtwoord in kunt voeren. bv http://mijnsite.ext/nieuwpass.php
$dbhost = ""; // host van je database, bijna altijd localhost
$dbuser = ""; // username voor je mysql database
$dbpass = ""; // wachtwoord van je database
$dbname = ""; // de database

mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
?>


//inloggen.php
<html>
<head>
<title>Inloggen</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h2 align="center">Inloggen</h2>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?
session_start();
ob_start();
include("config.php");  
if($_SESSION['naam'] == "" AND $_SESSION['status'] == "") {
 if($_COOKIE['naam'] == "" AND $_COOKIE['wachtwoord'] == "" AND $_COOKIE['email'] == "") {
  if(isset($_GET['login'])) {
   if($_POST['naam'] != "" AND $_POST['wachtwoord'] != "") {
    $sql = "SELECT * FROM gebruikers WHERE naam='".$_POST['naam']."'";
    $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
    $rij = mysql_fetch_object($resultaat);
    $dbpass = htmlspecialchars($rij->wachtwoord);
    $status = htmlspecialchars($rij->status);
    $email = htmlspecialchars($rij->email);
    $actief = htmlspecialchars($rij->actief);
    $pass = md5($_POST['wachtwoord']);
    if($dbpass == $pass) {
     if($actief == 1) {
      $_SESSION['naam'] = $_POST['naam'];
      $_SESSION['status'] = $status;
      if($_POST['blijven'] == "1") {
       setcookie("naam", $_POST['naam'], time() + 365 * 86400);
       setcookie("wachtwoord", $pass, time() + 365 * 86400);
      }

      header("Location: $inlogp");
     }
else{
      echo "<font color='red'><b>Je account is nog niet geactiveerd!</b><font>";
     }
    }
else{
     echo "<font color='red'><b>Je wachtwoord en/of naam is incorrect!</b></font>";
    }
   }
else{
    echo "<font color='red'><b>Je bent een veld vergeten in te vullen!</b></font>";
   }
    
  }
else{ }
   ?>



<form method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $_SERVER['PHPSELF']; ?>
?login">
<table>
<tr>
<td>Naam:</td><td><input type="text" name="naam"></td>
</tr>
<tr>
<td>Wachtwoord:</td><td><input type="password" name="wachtwoord"></td>
</tr>
<tr>
<td></td><td><input type="checkbox" name="blijven" value="1"> Ingelogd blijven</td>
</tr>
<tr>
<td></td><td><input type="submit" value="Inloggen"></td>
</tr>
</table>
<a href="wachtwoord_vergeten.php"><small>Wachtwoord vergeten?</small></a>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
  
 }else{
  $sql = "SELECT * FROM gebruikers WHERE naam='".$_COOKIE['naam']."'";
  $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
  $rij = mysql_fetch_object($resultaat);
  $dbnaam = htmlspecialchars($rij->naam);
  $dbstatus = htmlspecialchars($rij->status);
  $dbpass = htmlspecialchars($rij->wachtwoord);
  
  $pass = $_COOKIE['wachtwoord'];
  $naam = $_COOKIE['naam'];
  if($dbpass == $pass AND $dbnaam == $naam) {
   $_SESSION['naam'] = $dbnaam;
   header("Location: $inlogp");
  }
else{
   echo "<font color='red'><b>Eén van je cookies klopt niet met wat in de db staat!</b></font>";
  }
 }
}
else{
 ?>

Je bent al ingelogd..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
}
?>

</body>
</html>

//meldaan.php
<html>
<head>
<title>Aanmelden</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h2 align="center">Aanmelden</h2>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?
include("config.php");
function
act_code($num) {
 mt_srand((double)microtime()*1000000);
 while (strlen($pass) <= $num) {
  $i = chr(mt_rand (0,255));
  if (eregi("^[a-z0-9]$", $i))
   $pass = $pass.$i;
  }

 return ($pass);
}

if(isset($_POST['submit'])) {
 if($_POST['naam'] != "" AND $_POST['wachtwoord'] != "" AND $_POST['wachtwoord2'] != "" AND $_POST['email'] != "") {
   if($_POST['wachtwoord'] == $_POST['wachtwoord2']) {
    $sql = "SELECT * FROM gebruikers WHERE naam='".$_POST['naam']."'";
    $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
    if(mysql_num_rows($resultaat) == 0) {
     $md5pass = md5($_POST['wachtwoord']);
     $act_code = act_code(10);
     $insert = "INSERT INTO gebruikers (naam,wachtwoord,email,actief,act_code) VALUES ('".$_POST['naam']."','".$md5pass."','".$_POST['email']."','0','".$act_code."')";
     mysql_query($insert) OR die ("Kon geen verbinding maken met MySQL");
     $url = $actiefurl."?naam=".$_POST['naam']."&code=".$act_code;
     mail($_POST['email'],"Activatie account op ".$sitenaam,"Je kunt je account activeren op\n".$url."\nKopieer bovenstaande link in je browser en je account zal geactiveerd worden.","From: ".$sitenaam." <".$sitemail.">");
     echo "Bedankt je voor je registratie. Zodra je je account geactiveerd hebt (zie je mailbox) kun je inloggen op ".$sitenaam;
    }
else{
     echo "<font color='red'><b>De gebruikersnaam bestaat al.</b></font>";
    }
   }
else{
    echo "<font color='red'><b>Je wachtwoord en controle wachtwoord komen niet overeen.</b></font>";
   }
  }
else{
   echo "<font color='red'><b>Je bent een vak vergeten in te vullen.</b></font>";
  }
}
else{ }
?>



<form method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $_SERVER['PHPSELF']; ?>
">
<table>
<tr>
<td>Naam:</td><td><input type="text" name="naam"></td>
</tr>
<tr>
<td>Wachtwoord:</td><td><input type="password" name="wachtwoord"></td>
</tr>
<tr>
<td>Wachtwoord herhalen:</td><td><input type="password" name="wachtwoord2"></td>
</tr>
<tr>
<td>E-mail:</td><td><input type="text" name="email"></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Aanmelden" name="submit"></td>
</tr>
</table>
</form>
</body>
</html>

//nieuw_wacht.php
<html>
<head>
<title>Wachtwoord vergeten</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h2 align="center">Wachtwoord vergeten - Wachtwoord resetten/aanpassen</h2>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?
include("config.php");
if(isset($_GET['reset'])) {
 $sql = "SELECT * FROM gebruikers WHERE naam='".$_GET['naam']."'";
 $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
 $rij = mysql_fetch_object($resultaat);
 $code = htmlspecialchars($rij->act_code);
 if($code == $_GET['code']) {
  mysql_query("UPDATE gebruikers SET actief='1',act_code='' WHERE naam='".$_GET['naam']."'") OR die ("Kon geen verbinding maken met MySQL");
  echo "Je wachtwoord is teruggezet, je kunt weer gewoon inloggen.";
 }
else{
 echo "<font color='red'><b>Je code is incorrect.</b></font>";
 }
}
elseif($_GET['naam'] != "" AND $_GET['code'] != "") {
 $sql = "SELECT * FROM gebruikers WHERE naam='".$_GET['naam']."'";
 $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
 $rij = mysql_fetch_object($resultaat);
 $code = htmlspecialchars($rij->act_code);
 
 if($code == $_GET['code']) {
  if(isset($_POST['submit'])) {
   if($_POST['pass'] != "" AND $_POST['pass2'] != "") {
    if($_POST['pass'] == $_POST['pass2']) {
     $pass = md5($_POST['pass']);
     mysql_query("UPDATE gebruikers SET actief='1',act_code='',wachtwoord='".$pass."' WHERE naam='".$_GET['naam']."'") OR die ("Kon geen verbinding maken met MySQL");
     echo "Je wachtwoord is succesvol gewijzigd en je accounts is weer geactiveerd.";
    }
else{
     echo "<font color='red'><b>Het wachtwoord en controle wachtwoord komen niet overeen</b></font>";
    }
   }
else{
    echo "<font color='red'><b>Je bent vergeten een veld in te vullen.</b></font>";
   }
  }
else{ }
?>

<form method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $_SERVER['PHPSELF']; ?>
">
<table>
<tr>
<td>Nieuw wachtwoord:</td><td><input type="password" name="pass"></td>
</tr>
<tr>
<td>Herhaal wachtwoord:</td><td><input type="password" name="pass2"></td>
</tr>
<tr>
<td></td><td><input type="submit" name="submit" value="Wijzigen"></td>
</tr>
</table>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
}else{
 echo "<font color='red'><b>Je code is incorrect.</b></font>";
}
}
else{
echo "<font color='red'><b>Je hebt geen naam en/of code opgegeven.</b></font>";
}

?>

</body>
</html>

//safe.php (includen om pagina te beveiligen)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?
session_start();
ob_start();
//deze pagina include je in wat beveiligd moet worden
include("config.php");
if($_SESSION['naam'] == "" AND $_SESSION['status'] == "") {
 if($_COOKIE['naam'] == "" AND $_COOKIE['wachtwoord'] == "") {

  echo "Je bent niet ingelogd!<br>Klik <a href='inloggen.php'>hier</a> om in te loggen.";
  exit;
 }
else{
  $sql = "SELECT * FROM gebruikers WHERE naam='".$_COOKIE['naam']."'";
  $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
  $rij = mysql_fetch_object($resultaat);
  $dbnaam = htmlspecialchars($rij->naam);
  $dbstatus = htmlspecialchars($rij->status);
  $dbpass = htmlspecialchars($rij->wachtwoord);
  
  $pass = $_COOKIE['wachtwoord'];
  $naam = $_COOKIE['naam'];
  if($dbpass == $pass AND $dbnaam == $naam) {
   $_SESSION['naam'] = $dbnaam;
   header("Location: $_SERVER[PHPSELF]");
  }
else{
   echo "<font color='red'><b>Eén van je cookies klopt niet met wat in de db staat!</b></font>";
   exit;
  }
 }
 }
else{
}

?>


//safe_status.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?
session_start();
ob_start();
$status = "admin"; //de status die een persoon moet hebben om deze pagina te bekijken
include("config.php");
if($_SESSION['naam'] == "" AND $_SESSION['status'] == "") {
 if($_COOKIE['naam'] == "" AND $_COOKIE['wachtwoord'] == "") {
  echo "Je bent niet ingelogd!<br>Klik <a href='inloggen.php'>hier</a> om in te loggen.";
  exit;
 }
else{
  $sql = "SELECT * FROM gebruikers WHERE naam='".$_COOKIE['naam']."'";
  $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
  $rij = mysql_fetch_object($resultaat);
  $dbnaam = htmlspecialchars($rij->naam);
  $dbstatus = htmlspecialchars($rij->status);
  $dbpass = htmlspecialchars($rij->wachtwoord);
  
  $pass = $_COOKIE['wachtwoord'];
  $naam = $_COOKIE['naam'];
  if($dbpass == $pass AND $dbnaam == $naam) {
   $_SESSION['naam'] = $dbnaam;
   header("Location: $_SERVER[PHPSELF]");
  }
else{
   echo "<font color='red'><b>Eén van je cookies klopt niet met wat in de db staat!</b></font>";
   exit;
  }
 }
 }
else{
  $sql = "SELECT status FROM gebruikers WHERE naam='".$_SESSION['naam']."'";
  $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
  $rij = mysql_fetch_object($resultaat);
  $dbstatus = htmlspecialchars($rij->status);
  if($status == $dbstatus) {
  echo "Klopt";
  }
else{
  echo "<font color='red'><b>Je hebt niet de juiste rechten om deze pagina te bekijken!</b></font>";
  exit;
  }
}

?>


//style.css
body,td {
font-family: Verdana, Tahoma, Arial;
color: black;
font-size: smaller;
}
body {
background-color: white;
margin-top: 0px;
margin-bottom: 0px;
}
input, option, textarea, select, checkbox {
font-family: Verdana, Tahoma, Arial;
font-size: 8pt;
color: black;
font-weight: none;
border: 1px solid lightgray;
background-color: white;
}
a:link,a:visited {
color: darkblue;
text-decoration: none;
}
a:hover {
text-decoration: none;
color: blue;
}
a:active {
text-decoration: none;
color: darkblue;
font-weight: bold;
}
h1, h2, h3, h4, h5, h6 {
color: darkblue;
}

//uitloggen.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?
session_start();

session_unset();
session_destroy();

if(isset($_GET['cookie'])) {
setcookie("email");
setcookie("naam");
setcookie("wachtwoord");
}

?>

<html>
<head>
<title>Uitloggen</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
Je bent nu uitgelogd.
</body>
</html>

//wachtwoord.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
include("safe.php");
?>

<html>
<head>
<title>Wachtwoord wijzigen</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
if(isset($_POST['submit'])) {
 $sql = "SELECT * FROM gebruikers WHERE naam='".$_SESSION['naam']."'";
 $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
 $rij = mysql_fetch_object($resultaat);
 $dbpass = htmlspecialchars($rij->wachtwoord);
 
 $pass = md5($_POST['huidigpass']);
 if($dbpass == $pass) {
  if($_POST['newpass'] == $_POST['newpass2']) {
   $newpass = md5($_POST['newpass']);
   $update = "UPDATE gebruikers SET wachtwoord='".$newpass."' WHERE naam='".$_SESSION['naam']."'";
   $resultaat = mysql_query($update) OR die ("Kon geen verbinding maken met MySQL");
   echo "Je wachtwoord is succesvol gewijzigd.";
  }
else{
   echo "<font color='red'><b>Je nieuwe wachtwoord en controle wachtwoord komen niet overeen.</b></font>";
  }
 }
else{
  echo "<font color='red'><b>Je huidige wachtwoord komt niet overeen met je wachtwoord in de database.</b></font>";
 }
}
else{
?>

<h2 align="center">Wachtwoord wijzigen</h2>
<form method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $_SERVER['PHPSELF']; ?>
">
<table>
<tr>
<td>Huidige wachtwoord:</td><td><input type="password" name="huidigpass"></td>
</tr>
<tr>
<td>Nieuwe wachtwoord:</td><td><input type="password" name="newpass"></td>
</tr>
<tr>
<td>Herhaal wachtwoord:</td><td><input type="password" name="newpass2"></td>
</tr>
<tr>
<td></td><td><input type="submit" name="submit" value="Wijzigen"></td>
</tr>
</table>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
}
?>

</body>
</html>

//wachtwoord_vergeten.php
<html>
<head>
<title>Wachtwoord vergeten</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h2 align="center">Wachtwoord vergeten</h2>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
include("config.php");
function
act_code($num) {
 mt_srand((double)microtime()*1000000);
 while (strlen($pass) <= $num) {
  $i = chr(mt_rand (0,255));
  if (eregi("^[a-z0-9]$", $i))
   $pass = $pass.$i;
  }

 return ($pass);
}

if(isset($_POST['submit'])) {
 $sql = "SELECT * FROM gebruikers WHERE naam='".$_POST['naam']."'";
 $resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
 $rij = mysql_fetch_object($resultaat);
 $email = htmlspecialchars($rij->email);
 $act_code = act_code(10);
 mail($email,"Nieuw wachtwoord".$sitenaam,"Je hebt op ".$sitenaam." je wachtwoord opgevraagd. Je accounts is op niet-actief gezet. Je moet onderstaande link naar je browser kopieeren en dan daar je nieuwe wachtwoord invoeren om je wachtword te wijzigen.\nIndien je je wachtwoord NIET wilt wijzigen, druk dan op de 2e link.\nWACHTWOORD WIJZIGEN: ".$npassurl."?naam=".$_POST['naam']."&code=".$act_code."\nNIKS DOEN (huidige wachtwoord behouden): ".$npassurl."?naam=".$_POST['naam']."&code=".$act_code."&reset","From: ".$sitenaam." <".$sitemail.">");
 echo "Check je mail...";
 
 mysql_query("UPDATE gebruikers SET actief='0',act_code='".$act_code."' WHERE naam='".$_POST['naam']."'") OR die ("Kon geen verbinding maken met MySQL");

 }
else{
}

?>

<form method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $_SERVER['PHPSELF']; ?>
">
<table>
<tr>
<td>Naam:</td><td><input type="text" name="naam"></td>
</tr>
<tr>
<td></td><td><input type="submit" name="submit" value="Opvragen"></td>
</tr>
</table>
<small><b>LET OP:</b> Als je dit doet, word je account op niet-actief gezet (kun je niet meer inloggen) en krijg je naar je
e-mail adres een e-mail gestuurd met daarin een link om je account opnieuw te activeren.<br>
Zodra je dit hebt gedaan, kun je je wachtwoord daarin wijzigen. Indien jij het dan niet gewijzigd hebt, dan druk je op de
andere link, en dan zal je oude wachtwoord weer actief worden.<br>
Pas als je in dit e-mailadres op activeren klikt, word je acount weer actief, met het nieuwe wachtwoord.

</body>
</html>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.