Lid |
|
Ik gebruik een login script welke ik hier van de site heb geplukt.
Heb de volgende code
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$qLogin = mysql_query("SELECT * FROM gebruikers WHERE
email = '".mysql_real_escape_string($_POST['email'])."' AND
ww = '".sha1($_POST['ww'])."'");
while ($row = mysql_fetch_array($qLogin)) {
$id = $row['id'];
$admin = $row['admin'];
// Met deze query selecteren we het gebruikers-id van de gebruikersnaam en controleren we of
// de account geactiveerd is in 1 keer. Als je deze niet snapt, lees hem dan 20 keer :)
// Je kan natuurlijk ook een tutorial over dit soort queries lezen, alhoewel
// ze poepsimpel zijn IMO.
// Deze query mag overigens geen resultaten opleveren om te mogen inloggen. Als deze
// wél een resultaat oplevert is de account nog niet geactiveerd (en bestaat de
// activatiedata dus nog).
$qActivatie = mysql_query("SELECT COUNT(id) FROM gebruikers, gebruikers_activaties WHERE
gebruikers.email = '".mysql_real_escape_string($_POST['email'])."' AND
gebruikers.id = gebruikers_activaties.gebruikers_id");
if(mysql_result($qActivatie,0) != 0) {
echo 'De account is nog niet geactiveerd.';
} elseif(mysql_num_rows($qLogin) == 0) {
echo 'De e-mailadres/wachtwoord combinatie is niet correct.';
} else {
// Alles ok, inloggen dus.
// Nu is 1 ding belangerijk:
// ZORG DAT ER EEN session_start() GEPLAATST IS, HETZIJ IN JE INDEX.PHP WAAR
// DEZE PAGINA IN GEPLAATS WORDT, HETZIJ BOVENAAN DEZE PAGINA (ALS ER GEEN
// INCLUDESYSTEEM IS)!!!
if ($admin == 1){
$_SESSION['ingelogd_admin_toegang'] = true;
$_SESSION['ingelogd_toegang'] = true;
// Mocht je nog andere data willen in je sessie,
// zoals een level, dien je dit hier te plaatsen.
} else {
$_SESSION['ingelogd_toegang'] = true;
}}}
echo '<meta http-equiv="refresh" content="0;URL=" />';
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST') { ww = '".sha1($_POST['ww'])."'"); $id = $row['id']; $admin = $row['admin']; // Met deze query selecteren we het gebruikers-id van de gebruikersnaam en controleren we of // de account geactiveerd is in 1 keer. Als je deze niet snapt, lees hem dan 20 keer :) // Je kan natuurlijk ook een tutorial over dit soort queries lezen, alhoewel // ze poepsimpel zijn IMO. // Deze query mag overigens geen resultaten opleveren om te mogen inloggen. Als deze // wél een resultaat oplevert is de account nog niet geactiveerd (en bestaat de // activatiedata dus nog). $qActivatie = mysql_query("SELECT COUNT(id) FROM gebruikers, gebruikers_activaties WHERE gebruikers.id = gebruikers_activaties.gebruikers_id"); echo 'De account is nog niet geactiveerd.'; echo 'De e-mailadres/wachtwoord combinatie is niet correct.'; } else { // Alles ok, inloggen dus. // Nu is 1 ding belangerijk: // ZORG DAT ER EEN session_start() GEPLAATST IS, HETZIJ IN JE INDEX.PHP WAAR // DEZE PAGINA IN GEPLAATS WORDT, HETZIJ BOVENAAN DEZE PAGINA (ALS ER GEEN // INCLUDESYSTEEM IS)!!! if ($admin == 1){ $_SESSION['ingelogd_admin_toegang'] = true; $_SESSION['ingelogd_toegang'] = true; // Mocht je nog andere data willen in je sessie, // zoals een level, dien je dit hier te plaatsen. } else { $_SESSION['ingelogd_toegang'] = true; }}} echo '<meta http-equiv="refresh" content="0;URL=" />'; } ?>
Als ik nu alleen een e-mail adres ingeef krijg ik geen melding terug
Wie weet waar dit fout gaat
|