Goeie dag ik heb het onderstaand inlog script geschreven (met wat hulp)
maar loop nog op 1 klein ding vast.
Na het controleren van alle punten (en ze zijn correct ingevuld)
zou het script je door moeten sturen.
Dit doet hij alleen niet. Ik krijg ook geen foutmelding(en) te zien.
Misschien dat iemand ziet wat er mis is?
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
// Als de site online gaat, verander je true in false
// Het makkelijkst is om deze constante op één plaats in te stellen en niet in elk bestand opnieuw.
define('ENABLE_DEBUG', true); // zet op false wanneer online
session_start();
include 'includes/connection.php';
if ('POST' == $_SERVER['REQUEST_METHOD'] and 'login' == $_GET['cmd']) {
// Gebruikersnaam en wachtwoord vergelijken met gegevens in de database
$sSQL = "SELECT
login,
actief,
wachtwoord
FROM
members
WHERE
login = '" . mysql_real_escape_string($_POST['login']) . "'";
$rResult = mysql_query($sSQL, $connection);
// Controleren of de query is gelukt
if (false === $rResult) {
if (defined('ENABLE_DEBUG') and ENABLE_DEBUG) {
echo 'Er ging iets fout met de query (1) op de pagina inloggen.php:' . mysql_error($connection) . '(' . $sSQL . ')';
} else {
echo 'Er is een fout opgetreden probeer het later opnieuw';
}
} else {
// Controleren hoeveel resultaten er zijn
if (1 == mysql_num_rows($rResult)) {
// Er is één resultaat gevonden, dus gegevens fetchen
$row = mysql_fetch_array($rResult);
// Controleren of het account geactiveerd is
if (0 == $row['actief']) {
echo 'Het account is nog niet geactiveerd. Activeer deze eerst.';
}
// controleren of wachtwoord klopt
elseif (md5($_POST['pass']) != $row['wachtwoord']) {
echo 'wachtwoord/gebruikersnaam combinatie klopt niet.';
}
} else {
// Alle gegevens kloppen, dus sessie vullen
$_SESSION['inlogdata']['ingelogd'] = true;
$_SESSION['inlogdata']['remote_addr'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['inlogdata']['username'] = $row['login'];
}
}
}
// Hier gaan we DE persoon uitloggen
if (isset($_GET['cmd']) and 'logout' == $_GET['cmd']) {
$_SESSION['inlogdata']['ingelogd'] = false;
$_SESSION['inlogdata']['remote_addr'] = null;
$_SESSION['inlogdata']['username'] = null;
//echo "Je bent uitgelogd en wordt doorgestuurd"; // Een echo kan niet vóór header()!
header('Location: index.php');
exit; // Script stoppen
}
// Is DE persoon ingelogd en bestaan alle sessies? Dan wordt DE persoon doorgestuurd
if (isset($_SESSION['inlogdata']['ingelogd'], $_SESSION['inlogdata']['remote_addr']) and $_SESSION['inlogdata']['username']) {
// Gebruiker is ingelogd
//echo "Je bent ingelogd, je wordt door gestuurt"; // Een echo kan niet vóór header()!
header('Location: userdashboard.php');
exit; // Script stoppen
} else {
// Controleren of het IP-adres klopt
if ($_SESSION['inlogdata']['remote_addr'] != $_SERVER['REMOTE_ADDR']) {
echo 'Mogelijke hijack!';
}
}
mysql_close($connection);
?>
2.067 views