Beste leden,
Ik ben al tijdje bezig aan me inlog systeem. Soms werkt hij dan weer even en dan ben ik thuis werkt het weerniet. Ik kom er zelf niet meer uit wat er fout aan is. Ik hoop dat 1 van jullie me kan helpen. Ik geeft alleen de php codes.
Function check login:
PHP
<?php
function check_login() {
if(isset($_SESSION['gebruikersnaam'],$_SESSION['IP']) && $_SESSION['IP'] == $_SERVER['REMOTE_ADDR'])
{
if(! isset($_COOKIE['gebruikersnaam'],$_COOKIE['validate']))
{
$validate = md5(rand(0,1000));
setcookie("gebruikersnaam",$_SESSION['gebruikersnaam'],time()+600,"/","");
setcookie("validate",$validate,time()+600,"/","");
ob_end_flush();
}
else
$validate = $_COOKIE['validate'];
connectie()->query("REPLACE INTO `online`(`time`,`IP`,`gebruikersnaam`,`validate`) values(NOW(),'".$_SERVER['REMOTE_ADDR']."','".$_SESSION['gebruikersnaam']."','$validate')");
return TRUE;
}
else
{
if(isset($_COOKIE['gebruikersnaam'],$_COOKIE['validate']))
{
$gebruikersnaam = $_COOKIE['gebruikersnaam'];
$validate = $_COOKIE['validate'];
$query = connectie()->query("SELECT * FROM `online` WHERE `gebruikersnaam`='$gebruikersnaam' AND `validate`='$validate' AND `IP`='".$_SERVER['REMOTE_ADDR']."' AND UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(`time`) < 600");
if($user = $query->fetch_assoc())
{
connectie()->query("UPDATE `online` SET `time`=NOW() WHERE `gebruikersnaam`='$gebruikersnaam' AND `validate`='$validate' AND `IP`='".$_SERVER['REMOTE_ADDR']."' AND UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(`time`) < 600");
setcookie("gebruikersnaam",$user['gebruikersnaam'],time()+600,"/","");
setcookie("validate",$validate,time()+600,"/","");
$_SESSION['gebruikersnaam'] = $user['gebruikersnaam'];
$_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
return TRUE;
}
else
{
unset($_SESSION['gebruikersnaam']);
unset($_SESSION['IP']);
setcookie("gebruikersnaam",'',time()-60*60*24,"/","");
setcookie("validate",'',time()-60*60*24,"/","");
return FALSE;
}
}
else
{
unset($_SESSION['gebruikersnaam']);
unset($_SESSION['IP']);
setcookie("gebruikersnaam",'',time()-60*60*24,"/","");
setcookie("validate",'',time()-60*60*24,"/","");
return FALSE;
}
}
}
?>
Toon Meer
inloggen:
PHP
$dbres = connectie()->query("SELECT gebruikersnaam,activatie,planeet FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord=MD5('".$_POST['wachtwoord']."')");
$speler = $dbres->fetch_assoc();
$check = $dbres->num_rows;
// controleerd of alles klopt vanuit database.
$bestaad1 = connectie()->query("SELECT gebruikersnaam FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'");
$bestaad = $bestaad1->num_rows;
// controleerd of de gebruikersnaam bestaad.
$ip = $_SERVER['REMOTE_ADDR'];
$dbres = connectie()->query("SELECT * FROM multiple WHERE ip='".$ip."'");
$allo = $dbres->fetch_assoc();
$allo = ($allo['allo'] == 1) ? 1 : 0;
$exi1 = connectie()->query("SELECT * FROM iplog WHERE ip='".$ip."' AND login='".$_POST['gebruikersnaam']."'");
$exi = $exi1->num_rows;
// is voor ip log registratie
$_SESSION['gebruikersnaam'] = $_POST['gebruikersnaam'];
$validate = md5(rand(0,1000));
setcookie("login",$speler['gebruikersnaam'],time()+600,"/",".one-nation.nl");
setcookie("validate",$validate,time()+600,"/",".one-nation.nl");
connectie()->query("REPLACE INTO online(time,IP,gebruikersnaam,validate) values(NOW(),'".$_SERVER['REMOTE_ADDR']."','".$speler['gebruikersnaam']."','".$validate."')");
$_SESSION['login'] = $speler['gebruikersnaam'];
$_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
$dbres = connectie()->query("SELECT * FROM leden WHERE gebruikersnaam='".$_SESSION['login']."'");
$_SESSION['speler'] = $dbres->fetch_assoc();
// het cookie en sessie gedeelte
Toon Meer
Hier ergens zou een fout moeten zitten aangezien er iets mis is met cookies ofzo.
Alvast vriendelijk bedankt voor uw hulp.
Met vriendelijke groet,
Luc