<?php
//functions.php
function connectdb()
{
//inloggegevens van de database
$sHost='----';
$sUser='----';
$sPass='----';
$sDb='----';
if(!$rDbConn=mysql_connect($sHost,$sUser,$sPass))
{
echo 'Could not connect to database, sorry for the inconfenious';
return FALSE;
}
else
{
if(!mysql_select_db($sDb,$rDbConn))
{
echo 'Could not find the selected databse';
return FALSE;
}
}
return $rDbConn;
}
function check_login($rDbConn)
{
$bLogin=FALSE;
if(empty($_SESSION['ingelogd']))
{
//niet aangemeld volgens sessie, wel volgens db?
if(isset($_COOKIE['user_id']) && isset($_COOKIE['validate']) &&
strlen($_COOKIE['validate'])==32 && preg_match('/^[0-9]{1,8}$/',$_COOKIE['user_id']))
{
//de cookies bestaan en zijn geldig, kijken in de db
$sQuery='SELECT COUNT(*) FROM logins
WHERE user_id='.$_COOKIE['user_id'].' AND validate="'.$_COOKIE['validate'].'"
AND client_ip="'.$_SERVER['REMOTE_ADDR'].'"
AND tijdstip>DATE_SUB(NOW(),INTERVAL 7 DAY)';
if(!$rResult=mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}
else
{
if(mysql_num_rows($rResult)==1)
{
//volgens db al geldig ingelogd
$bLogin=TRUE;
function clean_up($rDbConn,$iUserId=0)
{
if(empty($iUserId))
{
//er werd geen userID meegegeven, dus algemene opruiming?
if(rand(1,500)==1)
{
//alle rijen ouder dan een maand wissen
$sQuery='DELETE FROM logins WHERE tijdstip<DATE_SUB(NOW(),INTERVAL 1 MONTH)';
if(!mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}
}
}
elseif(preg_match('/^[0-9]{1,8}$/',$iUserId))
{
//er werd een userID meegegeven, wissen dat kreng
$sQuery='DELETE FROM logins WHERE user_id='.$iUserId;
if(!mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}
}
}
?>
if($_SERVER['REQUEST_METHOD']=='POST')
{
if(FALSE!==($rDbConn=connectdb()))
{
$sQuery='SELECT id FROM users WHERE username="'.$_POST['username'].'" AND password="'.md5($_POST['password']).'"';
if(!$rResult=mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}
else
{
if(mysql_num_rows($rResult)==0)
{
echo 'Username and password are incorrect, <P> Click <A HREF="index.php"/>here</A> to try again';
}
else
{
//En dan komt hier het loginverhaal
//willekeurige string maken
$sValidate=md5(rand(0,99999));
//cookies setten voor 7dagen
$iUserId=mysql_result($rResult,0,'id');
setcookie('validate',$sValidate,time()+60*60*24*7,'/','http://127.0.0.1/index.php');
setcookie('user_id',$iUserId,time()+60*60*24*7,'/','http://127.0.0.1/index.php');
//de gegevens in de tabel zetten
$sQuery='REPLACE INTO logins (tijdstip, validate, user_id, client_ip)
VALUES (NOW(), "'.$sValidate.'", '.$iUserId.', "'.$_SERVER['REMOTE_ADDR'].'")';
if(!mysql_query($sQuery,$rDbConn))
{
echo 'Hey een foutmelding: '.mysql_error($rDbConn).'<BR>'.$sQuery;
}