dit is me regiser en login script.( niet geheel van me zlef )
<?php
/*Gebruik conn.php voor de database connectie.*/
require_once 'conn.php';
function checkmail($mail)
{
// explode het e-mail adres op een @
$email_host = explode("@", $mail);
// pak alles na de @
$email_host = $email_host['1'];
// zet een var met de (eventuele) DNS van de domein
$email_resolved = gethostbyname($email_host);
// kijk of er een DNS aan zit en of alles voor en na het e-mail adres klopt
$pattern = "/^[\w-]+(\.[\w-]+)*@";
$pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
if ($email_resolved != $email_host && preg_match($pattern,$mail))
$valid = 1;
// wanneer het geldig is, is $valid = 1, zo niet, dan geeft hij geen result (NULL)
return $valid;
}
/*Kijk of de formulier is verzonden, zoniet dan krijg je de foutmelding.*/
if (!isset($_REQUEST['action'])) {
die ('er is niet geprobeert in te loggen.<br />druk op de back knop om in te loggen.');
} else {
switch ($_REQUEST['action']) {
case 'Register':
/*Voor het geval dat mensen de volgende link invoeren
*
http://www.mijnwebsite.nl/transact-user.php?action=Register
*krijgen ze als nog de foutmelding.*/
if (!isset($_REQUEST['action'])) {
header ('refresh: 3; url=register.php');
die ('login via de normale manier');
} else {
/*Alles naar makkelijke variabelen omzetten.*/
$email = $_POST['email'];
$user = $_POST['username'];
$pass = $_POST['password'];
$pass2 = $_POST['check_password'];
/*Check of geen enkele variabelen leeg is, is er wel een leeg.
*Dan krijg je een foutmelding.*/
if (empty($user) || empty($pass) || empty($pass2) || empty($email)) {
header ('refresh: 3; url=register.php');
die ('probeer het nog eens');
/*Check of ingevoerde wachtwoorden hetzelfde zijn.*/
} elseif ($pass != $pass2) {
header ('refresh: 3; url=register.php');
die ('Paswoord is niet hetzelfde');
/*Als magic_quotes uitstaat zet dan addslashes bij de variabelen neer.*/
} elseif (!get_magic_quotes_gpc()) {
$user = addslashes($user);
$pass = addslashes($pass);
}
/* controleer de email adres*/
$mail_ok = checkmail($email);
if ( $mail_ok == 0 )
{
echo 'je mail klopt niet';
}
/*Codeer de variabelen.*/
$pass = addslashes(sha1($pass));
$user = addslashes(base64_encode($user));
/*Database contacten wordt verder op uitgelegt.*/
$check_sql = "SELECT username " .
"FROM users " .
"WHERE username='$user'";
$sql = "INSERT INTO users (username, password, email) " .
"VALUES ('" . $user . "','" . $pass . "','" . $email . "')";
$check_result = mysql_query($check_sql, $conn)
or die ('Could not check up user $account; ' . mysql_error());
/*De eerste database contact wordt hier gebruikt om te checken of jou
*ingevoerde username nog niet bestaat. Bestaat het wel foutmelding.*/
if ((mysql_fetch_array($check_result)) != 0 ) {
header ('refresh: 3; url=register.php');
die ('gebruikersnaam bestaat al');
}
/*Alles is gedaan en goedbevonden, dus voeg de account maar toe.*/
mysql_query($sql, $conn)
or die ('kan geen profiel aanmaken; ' . mysql_error());
$bo = base64_decode($user);
// map aanmaken en een index file
mkdir($bo, 0777);
$geschreven = file_put_contents(''.$bo.'/index.php','');
if($geschreven!==FALSE) {
$toegevoegd=file_put_contents('bestand.txt',"\nDit is toegevoegde tekst",FILE_APPEND);
} else {
echo "Er ging iets mis!";
}
header ('refresh: 3; url='.$bo.'/index.php');
break;
}
case 'Login':
/*Voor het geval dat mensen de volgende link invoeren
*
http://www.mijnwebsite.nl/transact-user.php?action=Login
*krijgen ze als nog de foutmelding.*/
if (!isset($_REQUEST['action'])) {
header ('refresh: 3; url=index.php');
die ('je moet wel op de normale weg inloggen.');
} else {
/*Alles naar makkelijke variabelen omzetten.*/
$user = $_POST['username'];
$pass = $_POST['password'];
/*Check of geen enkele variabelen leeg is, is er wel een leeg.
*Dan krijg je een foutmelding.*/
if (empty($user) || empty($pass)) {
header ('refresh: 3; url=index.php');
die ('error probeer het opnieuw');
/*Als magic_quotes uitstaat zet dan addslashes bij de variabelen neer.*/
} elseif (!get_magic_quotes_gpc()) {
$user = addslashes($user);
$pass = addslashes($pass);
}
/*Codeer de variabelen.*/
$pass = addslashes(sha1($pass));
$user = addslashes(base64_encode($user));
/*Table contact is hier gemaakt en checkt of de variabelen
*overeenkomen met die van de table.*/
$sql = "SELECT id, username, password, email " .
"FROM users " .
"WHERE username='$user' " .
"AND password='$pass'";
"AND email='$email'";
$result = mysql_query($sql, $conn)
or die ('error probeer het opnieuw; ' . mysql_error());
/*Als het in de database niet overeenkwam wordt er hier een fout gemeldt.*/
if (($row = mysql_fetch_array($result)) == 0) {
header ('refresh: 3; url=index.php');
die ('login informatie klopt niet');
} else {
/*Alles klopte dus hier begint de sessie en wordt alles van de slashes afgeholpen.*/
session_start();
$_SESSION['id'] = $row['id'];
$_SESSION['username'] = stripslashes($row['username']);
$_SESSION['password'] = stripslashes($row['password']);
}
header ('refresh: 3; url='.$user.'/index.php');
echo ('Account name ' . base64_decode($_SESSION['username']) . ' has been logged in');
break;
}
case 'Logout':
/*Stop sessie en vernietig het.*/
session_start();
session_unset();
session_destroy();
header ('refresh: 3; url=index.php');
echo ('Logout was a succes');
break;
}
}
?>