Strict standards

Status
Niet open voor verdere reacties.

sirkserac

Gebruiker
Lid geworden
9 aug 2012
Berichten
43
hallo,

ik ben met men login script bezig en krijg volgende warning:
HTML:
 Strict standards: Only variables should be passed by reference in C:\wamp\www\test\register-login-logout-system\registratie.php on line 70

ter hoogte van lijn 70 staat het volgende (registratie.php):
PHP:
if($formulier) {
    echo '    <form method="post" action="'.end(explode('/', $_SERVER["REQUEST_URI"])).'">                 
        <p><label>Username:</label><input type="text" name="username" value="" /></p>
        <p><label>Password:</label><input type="password" name="pass" value="" /></p>
        <p></p>
        <p><label>First Name:</label><input type="text" name="fname" value="" /></p>
        <p><label>Last Name:</label><input type="text" name="lname" value="" /></p>
        <p><label>E-mail Address:</label><input type="text" name="email" value="" /></p>
            
        <p><input type="submit" value="Send form" /></p>                        
        </form>
    ';                
}

hier door krijg ik ook altijd de melding dat ik geen geldig email adres heb opgegeven.

en in de 2 de pagina krijg ik de zelfde error op lijn 112 (login.php):
PHP:
 if($formulier) {
                echo '    <form method="post" action="'.end(explode('/', $_SERVER["REQUEST_URI"])).'">                 
                    <p><label>Username:</label><input type="text" name="username" value="" /></p>
                    <p><label>Password:</label><input type="password" name="pass" value="" /></p>
                    <br><input type="hidden" name="form" value="'.time().'" />                        
                    <p><input type="submit" value="Inloggen" /></p>                        
                    </form>
                ';                
            }


dit zijn de volledige scripts:
registratie.php
PHP:
<?php
include('config.inc.php');    
if ($_SERVER['REQUEST_METHOD'] != 'POST') {                        
    $formulier = true;
} else {                        
    $formulier = false;    
    //controles uitvoeren    
    
    if(!ereg("^[A-Za-z0-9]+$",$_POST["username"]) || strlen($_POST["username"]) < 3) {
        echo '<b style="color:#FDB839">• Uw gebruikersnaam is ongeldig.</b><br>';    
        $_POST["Gebruikersnaam"] = ""; $formulier = true;    
    }
    
    $result = $mysqli->query("SELECT ID FROM ".$settings['db_gebruikers_table']." WHERE gebruikersnaam LIKE '".$mysqli->real_escape_string($_POST['username'])."'");
    
    if(!empty($_POST["username"]) && $result->num_rows > 0) {    
        echo '<b style="color:#FDB839">• Deze gebruikersnaam is al bezet.</b><br>';    
        $_POST["Gebruikersnaam"] = ""; $formulier = true;    
    }
    
    if(empty($_POST["pass"])) {    
        echo '<b style="color:#FDB839">• Uw password is ongeldig.</b><br>';    
        $_POST["pass"] = ""; $formulier = true;    
    }

    if(empty($_POST["email"]) || preg_match("/^[A-Za-z0-9._\-]+\@[A-Za-z0-9._\-]+\.[A-Za-z]{2,4}$/", $_POST["email"])) {    
        echo '<b style="color:#FDB839">• Uw emailadres is ongeldig.</b><br>';    
        $_POST["email"] = ""; $formulier = true;    
    }            

    if($formulier) {     // Wel of niet verzenden
        echo '<br>';    
        $_POST["pass"] = "";
    } else { // Verzenden
        
        $sql = "
            INSERT INTO ".$settings['db_gebruikers_table']." (
                gebruikersnaam,
                wachtwoord,
                voornaam,
                achternaam,
                emailadres,
                ipadres,
                startdatum )
            VALUES (
                '".$mysqli->real_escape_string(htmlspecialchars($_POST['username']))."',
                '".$mysqli->real_escape_string(sha1(htmlspecialchars($_POST['username']).$_POST['pass']))."',
                '".$mysqli->real_escape_string(htmlspecialchars($_POST['fname']))."',
                '".$mysqli->real_escape_string(htmlspecialchars($_POST['lname']))."',
                '".$mysqli->real_escape_string($_POST['email'])."',
                '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."',
                NOW()
            )";
        
        if(!$result = $mysqli->query($sql))    {
            trigger_error('Fout in query: '.$mysqli->error);
            echo '<br />Er is een fout opgetreden, de gebruiker is niet toegevoegd.';
        } else {
            echo 'De gebruiker is succesvol toegevoegd.';
        }     
        
        
    }

}



if($formulier) {
    echo '    <form method="post" action="'.end(explode('/', $_SERVER["REQUEST_URI"])).'">                 
        <p><label>Username:</label><input type="text" name="username" value="" /></p>
        <p><label>Password:</label><input type="password" name="pass" value="" /></p>
        <p></p>
        <p><label>First Name:</label><input type="text" name="fname" value="" /></p>
        <p><label>Last Name:</label><input type="text" name="lname" value="" /></p>
        <p><label>E-mail Address:</label><input type="text" name="email" value="" /></p>
            
        <p><input type="submit" value="Send form" /></p>                        
        </form>
    ';                
}

 
?>

en login.php
PHP:
 <?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
include('config.inc.php');

/* ----------------------------------------------------------------------------------------------- */        
if(!isingelogd()) {
    // Anti-flood, na 5 keer verkeerd inloggen wordt je IP adres 24 uur geband
    $query = "    SELECT
                    COUNT(id) AS attempts
                FROM
                    ".$settings['db_login_attempts_table']."
                WHERE
                    date_time > (NOW() - INTERVAL 24 HOUR)
                AND
                    ip = '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."'
                AND
                    sys_info = '".$mysqli->real_escape_string($_SERVER['HTTP_USER_AGENT'])."'";
    
    if ($result = $mysqli->query($query)) {    
        $login_attempt = $result->fetch_assoc();
        
        if($login_attempt['attempts'] > $settings['max_login_pogingen']) { // Controleren of je bent geband
            echo 'U bent tijdelijk geband<br>';
        } else {
    
            if (mb_strtoupper($_SERVER['REQUEST_METHOD']) != 'POST') {                        
                $formulier = true;
            } else {                        
                $formulier = false;                    
                if(ctype_digit($_POST['form']) && time() < strtotime("+1 minute", $_POST['form'])) {                 
                    $username = htmlspecialchars($_POST['username']);
                    $hashedPass = sha1($username.$_POST['pass']);
            
                    $query = "    SELECT
                                    ID
                                FROM
                                    ".$settings['db_gebruikers_table']."
                                WHERE
                                    gebruikersnaam = '".$mysqli->real_escape_string($username)."'
                                AND
                                    wachtwoord = '".$mysqli->real_escape_string($hashedPass)."'";
            
                    if ($result = $mysqli->query($query)) {
            
                        $userId = $result->fetch_assoc();
            
                        if(ctype_digit($userId['ID'])) {        
                            $hash_key = uniqid(mt_rand(), true);
                            $hash = sha1($userId['ID'] . $_SERVER['HTTP_USER_AGENT'] . $hash_key);
                            // Cookies maken
                            setcookie('user_id', $userId['ID'], time() + 60*60*24*365, '/');
                            setcookie('user_hash', $hash, time() + 60*60*24*365, '/');            
                            // Update query samenstellen, ip en hash updaten
                         $sql = "    INSERT INTO
                                         ".$settings['db_sessions_table']."
                                        (
                                            gebruikerID,
                                            hash,
                                            hash_key,
                                            datum,
                                            ip
                                        )
                                    VALUES (
                                        '".$mysqli->real_escape_string($userId['ID'])."',
                                        '".$hash."',
                                        '".$hash_key."',
                                        NOW(),
                                        '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."'
                                    )";
                            // Query uitvoeren            
                            if(!$result = $mysqli->query($sql))    {
                                trigger_error('Fout in query: '.$mysqli->error);
                            } else {
                                if($mysqli->affected_rows > 0) {
                                    echo 'Je bent ingelogd!';
                                }
                            }                                            
                        } else {                            
                            $sql = "    INSERT INTO
                                            ".$settings['db_login_attempts_table']."
                                            (
                                                date_time,
                                                ip,
                                                sys_info
                                            )
                                        VALUES (
                                            NOW(),
                                            '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."',
                                            '".$mysqli->real_escape_string($_SERVER['HTTP_USER_AGENT'])."'
                                        )";                            
            
                            if(!$result = $mysqli->query($sql)) {
                                trigger_error('Fout in query: '.$mysqli->error);
                            }/*else {
                                if($mysqli->affected_rows > 0) {
                                    echo 'Attempt ingevoerd<br>';
                                }
                            }
                            */
                            echo 'Het wachtwoord of gebruikersnaam was incorrect';
                            $formulier = true;
                        }
            
                    }
                    
                } else {
                    echo 'Fout bij inloggen. Probeer het opnieuw.';
                }
            
            }
            if($formulier) {
                echo '    <form method="post" action="'.end(explode('/', $_SERVER["REQUEST_URI"])).'">                 
                    <p><label>Username:</label><input type="text" name="username" value="" /></p>
                    <p><label>Password:</label><input type="password" name="pass" value="" /></p>
                    <br><input type="hidden" name="form" value="'.time().'" />                        
                    <p><input type="submit" value="Inloggen" /></p>                        
                    </form>
                ';                
            }
            }
    } else {
        trigger_error('Fout in query: '.$mysqli->error);
    }
 
} else {
    echo 'U bent al ingelogd.';
}
?>

iemand een idee wat er fout zou kunnen zijn?
 
Laatst bewerkt:
Waarom zo moeilijk??
PHP:
end(explode('/', $_SERVER["REQUEST_URI"]))

Vervang die bull**** met een # en klaar.
Dus zo:
PHP:
<form method="post" action="#">


Edit:

Dit verhelpt overigens ook je warning
 
Laatst bewerkt:
Bedankt, maar nu krijg ik volgende nadat ik op opslaan heb geklikt.:

op registratie pagina:

! ) SCREAM: Error suppression ignored for
( ! ) Deprecated: Function ereg() is deprecated in C:\wamp\www\test\register-login-logout-system\registratie.php on line 9

waar dit staat:
PHP:
 if(!ereg("^[A-Za-z0-9]+$",$_POST["username"]) || strlen($_POST["username"]) < 3) {
        echo '<b style="color:#FDB839">• Uw gebruikersnaam is ongeldig.</b><br>';    
        $_POST["Gebruikersnaam"] = ""; $formulier = true;    
    }

en ik krijg ook nog altijd een fout op mijn e-mail adres dat dit ongeldig zou zijn.

de index pagina is wel in orde, maar kan ze nog niet volledig testen want er zit nog geen user in
 
heb het gevonden, moest inplaats van dit:
PHP:
"^[A-Za-z0-9]+$"
dit zetten
PHP:
"^[A-Za-z0-9]+$^"
was dus dit ^ vergeten op eind, maar krijg wel nog altijd dat ik een ongeldig email adres invoer :-(
 
sorry , ook daar ^ vergeten, nu ist in orde. als ik het volledig af heb zal ik het hier posten voor andere mensen ;-)
 
Persoonlijk zou ik dit stukje ook zo doen:

PHP:
if($formulier) {
    ?>  
					<form method="post" action="#">                 
                    <p><label>Username:</label><input type="text" name="username" value="" /></p>
                    <p><label>Password:</label><input type="password" name="pass" value="" /></p>
                    <br><input type="hidden" name="form" value="<?php echo time(); ?>" />                        
                    <p><input type="submit" value="Inloggen" /></p>                        
                    </form>
    <?php                
}


Edit:

Graag gedaan;)
 
Laatst bewerkt:
Omdat ik het wat overzichtelijker vindt en je editor het dan ook gaat zien als html en niet als string
 
is dat dan beter? gaat die if dan niet verloren?

kan ik ook aan mijn succes echo iets hangen dat hij redirect naar een pagina?
 
Laatst bewerkt:
1. Je kan html en php kriskras door elkaar gebruiken dus je if gaat niet verloren

2. Dit kun je doen met header(heeft niets met een echo te maken):

PHP:
header('Location: http://www.example.com/');
 
Laatst bewerkt:
hey, toch nog 1 iets, als ik het zo doe zoals je zij:

PHP:
if($formulier) {
    ?>  
                    <form method="post" action="#">                 
                    <p><label>Username:</label><input type="text" name="username" value="" /></p>
                    <p><label>Password:</label><input type="password" name="pass" value="" /></p>
                    <br><input type="hidden" name="form" value="<?php echo time(); ?>" />                        
                    <p><input type="submit" value="Inloggen" /></p>                        
                    </form>
    <?php

dan krijg ik steeds fout opgetreden bij inloggen, als ik het terug zet zoals eerst werkt het wel.
 
Haakje sluiten } achter <?php

PHP:
if($formulier) {
    ?>  
                    <form method="post" action="#">                 
                    <p><label>Username:</label><input type="text" name="username" value="" /></p>
                    <p><label>Password:</label><input type="password" name="pass" value="" /></p>
                    <br><input type="hidden" name="form" value="<?php echo time(); ?>" />                        
                    <p><input type="submit" value="Inloggen" /></p>                        
                    </form>
    <?php }  //<---


anders gebruik je die van jou;)
 
Laatst bewerkt:
voor zij die het willen

registratie.php
PHP:
<?php
include('config.inc.php');    
if ($_SERVER['REQUEST_METHOD'] != 'POST') {                        
    $formulier = true;
} else {                        
    $formulier = false;    
    //controles uitvoeren    
    
    if(!preg_match("^[A-Za-z0-9]+$^",$_POST["username"]) || strlen($_POST["username"]) < 3) {
        echo '<b style="color:#FDB839">• Uw gebruikersnaam is ongeldig.</b><br>';    
        $_POST["Gebruikersnaam"] = ""; $formulier = true;    
    }
    
    $result = $mysqli->query("SELECT ID FROM ".$settings['db_gebruikers_table']." WHERE gebruikersnaam LIKE '".$mysqli->real_escape_string($_POST['username'])."'");
    
    if(!empty($_POST["username"]) && $result->num_rows > 0) {    
        echo '<b style="color:#FDB839">• Deze gebruikersnaam is al bezet.</b><br>';    
        $_POST["Gebruikersnaam"] = ""; $formulier = true;    
    }
    
    if(empty($_POST["pass"])) {    
        echo '<b style="color:#FDB839">• Uw password is ongeldig.</b><br>';    
        $_POST["pass"] = ""; $formulier = true;    
    }

    if(empty($_POST["email"]) || preg_match("/^[A-Za-z0-9._\-]+\@[A-Za-z0-9._\-]+\.[A-Za-z]{2,4}$^/", $_POST["email"])) {    
        echo '<b style="color:#FDB839">• Uw emailadres is ongeldig.</b><br>';    
        $_POST["email"] = ""; $formulier = true;    
    }            

    if($formulier) {     // Wel of niet verzenden
        echo '<br>';    
        $_POST["pass"] = "";
    } else { // Verzenden
        
        $sql = "
            INSERT INTO ".$settings['db_gebruikers_table']." (
                gebruikersnaam,
                wachtwoord,
                voornaam,
                achternaam,
                emailadres,
                ip,
                startdatum )
            VALUES (
                '".$mysqli->real_escape_string(htmlspecialchars($_POST['username']))."',
                '".$mysqli->real_escape_string(sha1(htmlspecialchars($_POST['username']).$_POST['pass']))."',
                '".$mysqli->real_escape_string(htmlspecialchars($_POST['fname']))."',
                '".$mysqli->real_escape_string(htmlspecialchars($_POST['lname']))."',
                '".$mysqli->real_escape_string($_POST['email'])."',
                '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."',
                NOW()
            )";
        
        if(!$result = $mysqli->query($sql))    {
            trigger_error('Fout in query: '.$mysqli->error);
            echo '<br />Er is een fout opgetreden, de gebruiker is niet toegevoegd.';
        } else {
            echo 'De gebruiker is succesvol toegevoegd.';
			
			header('Location: i_login.php');
        }     
        
        
    }

}



if($formulier) {
    echo '<form method="post" action="#">                 
        <table>
		<tr>
		<td><label>Gebruikersnaam:</label></td><td><input type="text" name="username" value="" /></td></tr>
        <tr><td><label>Wachtwoord:</label></td><td><input type="password" name="pass" value="" /></td></tr>
        <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
        <tr><td><label>Voornaam:</label></td><td><input type="text" name="fname" value="" /></td></tr>
        <tr><td><label>Familienaam:</label></td><td><input type="text" name="lname" value="" /></td></tr>
        <tr><td><label>E-mail Addres:</label></td><td><input type="text" name="email" value="" /></td></tr>
        </table>
        <p><input type="submit" value="Opslaan" /></p>                        
        </form>
';
             
}

 
?>

login.php
PHP:
 <?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
include('config.inc.php');
        
if(!isingelogd()) {
    // Anti-flood, na 5 keer verkeerd inloggen wordt je IP adres 24 uur geband
    $query = "    SELECT
                    COUNT(id) AS attempts
                FROM
                    ".$settings['db_login_attempts_table']."
                WHERE
                    date_time > (NOW() - INTERVAL 24 HOUR)
                AND
                    ip = '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."'
                AND
                    sys_info = '".$mysqli->real_escape_string($_SERVER['HTTP_USER_AGENT'])."'";
    
    if ($result = $mysqli->query($query)) {    
        $login_attempt = $result->fetch_assoc();
        
        if($login_attempt['attempts'] > $settings['max_login_pogingen']) { // Controleren of je bent geband
            echo 'U bent tijdelijk geband<br>';
        } else {
    
            if (mb_strtoupper($_SERVER['REQUEST_METHOD']) != 'POST') {                        
                $formulier = true;
            } else {                        
                $formulier = false;                    
                if(ctype_digit($_POST['form']) && time() < strtotime("+1 minute", $_POST['form'])) {                 
                    $username = htmlspecialchars($_POST['username']);
                    $hashedPass = sha1($username.$_POST['pass']);
            
                    $query = "    SELECT
                                    ID
                                FROM
                                    ".$settings['db_gebruikers_table']."
                                WHERE
                                    gebruikersnaam = '".$mysqli->real_escape_string($username)."'
                                AND
                                    wachtwoord = '".$mysqli->real_escape_string($hashedPass)."'";
            
                    if ($result = $mysqli->query($query)) {
            
                        $userId = $result->fetch_assoc();
            
                        if(ctype_digit($userId['ID'])) {        
                            $hash_key = uniqid(mt_rand(), true);
                            $hash = sha1($userId['ID'] . $_SERVER['HTTP_USER_AGENT'] . $hash_key);
                            // Cookies maken
                            setcookie('user_id', $userId['ID'], time() + 60*60*24*365, '/');
                            setcookie('user_hash', $hash, time() + 60*60*24*365, '/');            
                            // Update query samenstellen, ip en hash updaten
                         $sql = "    INSERT INTO
                                         ".$settings['db_sessions_table']."
                                        (
                                            gebruikerID,
                                            hash,
                                            hash_key,
                                            datum,
                                            ip
                                        )
                                    VALUES (
                                        '".$mysqli->real_escape_string($userId['ID'])."',
                                        '".$hash."',
                                        '".$hash_key."',
                                        NOW(),
                                        '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."'
                                    )";
                            // Query uitvoeren            
                            if(!$result = $mysqli->query($sql))    {
                                trigger_error('Fout in query: '.$mysqli->error);
                            } else {
                                if($mysqli->affected_rows > 0) {
                                    echo 'Je bent ingelogd!';
				header('Location: naar je prive pagina.php');
                                }
                            }                                            
                        } else {                            
                            $sql = "    INSERT INTO
                                            ".$settings['db_login_attempts_table']."
                                            (
                                                date_time,
                                                ip,
                                                sys_info
                                            )
                                        VALUES (
                                            NOW(),
                                            '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."',
                                            '".$mysqli->real_escape_string($_SERVER['HTTP_USER_AGENT'])."'
                                        )";                            
            
                            if(!$result = $mysqli->query($sql)) {
                                trigger_error('Fout in query: '.$mysqli->error);
                            }/*else {
                                if($mysqli->affected_rows > 0) {
                                    echo 'Attempt ingevoerd<br>';
                                }
                            }
                            */
                            echo 'Het wachtwoord of gebruikersnaam was incorrect';
                            $formulier = true;
                        }
            
                    }
                    
                } else {
                    echo 'Fout bij inloggen. Probeer het opnieuw.';
				
                }
            
            }
            if($formulier) {
                
                echo ' <form method="post" action="#">                 
                    <table>
					<tr><td><label>Gebruikersnaam:</label></td><td><input type="text" name="username" value="" /></td></tr>
                    <tr><td><label>Wachtwoord:</label></td><td><input type="password" name="pass" value="" /></td></tr>
					</table>
                    <input type="hidden" name="form" value="'.time().'" />                        
                    <p><input type="submit" value="Inloggen" /></p>                        
                    </form>
                ';             
            }
            }
    } else {
        trigger_error('Fout in query: '.$mysqli->error);
    }
 
} else {
    echo 'U bent al ingelogd.';
}
?>

logout.php
PHP:
<?php
include('config.inc.php');

setcookie('user_id', 0, time() - 3600, '/');
setcookie('user_hash', '', time() - 3600, '/');

$query = "    UPDATE
                ".$settings['db_sessions_table']."
            SET
                hash = NULL,
                hash_key = NULL,
                ip = '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."'
            WHERE
                gebruikerID = '".$mysqli->real_escape_string($_COOKIE['user_id'])."'";

if(!$result = $mysqli->query($query)) {
    trigger_error('Fout in query: '.$mysqli->error);
} else {
    if($mysqli->affected_rows > 0) {
        echo 'U bent uitgelogd';
       	header('Location: index.php');
	}
}    
?>

config.inc.php
PHP:
<?php

$db['username']     = 'usr';
$db['password']     = 'pw';
$db['host']        = 'server';
$db['database']    = 'db';

$settings['db_gebruikers_table'] = 'gebruikers';
$settings['db_sessions_table'] = 'sessions';
$settings['db_login_attempts_table'] = 'login_attempts';

$settings['max_login_pogingen'] = '3';


$mysqli = new mysqli($db['host'], $db['username'], $db['password'], $db['database']); // Host - Username - Password - Database
if(mysqli_connect_errno())
{
    trigger_error('Fout bij verbinding: '.$mysqli->error);
}
unset($db);
include('functies.inc.php');
?>

function.inc.php
PHP:
<?php

function isingelogd(){
    global $settings, $mysqli;
    // Kijken of er cookies zijn gezet, en controleren of ze valid zijn
    if(isset($_COOKIE['user_id']) && ctype_digit($_COOKIE['user_id']) && isset($_COOKIE['user_hash']) && ctype_alnum($_COOKIE['user_hash'])) {
        $query = "    SELECT
                        gebruikerID, hash_key
                    FROM
                        ".$settings['db_sessions_table']."
                    WHERE
                        gebruikerID = '".$mysqli->real_escape_string($_COOKIE['user_id'])."'
                    AND
                        hash = '".$mysqli->real_escape_string($_COOKIE['user_hash'])."'
                    AND
                        ip = '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."'";
        
        // Query uitvoeren
        if ($result = $mysqli->query($query)) {

            $userId = $result->fetch_assoc();

            if(ctype_digit($userId['gebruikerID'])) {
                // Controleren of de hash ook klopt (browsercheck)
                if(sha1($_COOKIE['user_id'] . $_SERVER['HTTP_USER_AGENT'] . $userId['hash_key']) == $_COOKIE['user_hash']) {
                    return true;
                } else { // Browser is veranderd
                    // Niet ingelogd
                    $query = "    UPDATE
                                    ".$settings['db_sessions_table']."
                                SET
                                    hash = NULL,
                                    hash_key = NULL,
                                    ip = '".$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])."'
                                WHERE
                                    gebruikerID = '".$mysqli->real_escape_string($_COOKIE['user_id'])."'";
                    
                    $mysqli->query($query);
                    
                    // Cookies verwijderen
                    setcookie('user_id', 0, time() - 3600, '/');
                    setcookie('user_hash', '', time() - 3600, '/');        
                    return false;                        
                }
                
            }  
        }    
        
    } else {    
        // Geen geldige cookies gezet
        // Niet ingelogd
        return false;
    }        
}  
?>

plaats dit bovenaan elke pagina die je wilt weizigen:
PHP:
<?php
include('config.inc.php');
if(!isingelogd()) {
    echo "Je moet eerst inloggen om deze pagina te zien!";
   header('Location: login.php');
} else {
    echo "Je zit in de beveiligde pagina!";
 header('Location: naar beveiligde pagina.php');
}
?>

database input:

Code:
-- --------------------------------------------------------

--
-- Tabelstructuur voor tabel `gebruikers`
--

CREATE TABLE IF NOT EXISTS `gebruikers` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `gebruikersnaam` varchar(90) NOT NULL,
  `wachtwoord` varchar(255) NOT NULL,
  `voornaam` varchar(255) NOT NULL,
  `tussenvoegsel` varchar(255) NOT NULL,
  `achternaam` varchar(255) NOT NULL,
  `emailadres` varchar(255) NOT NULL,
  `rechten` int(11) NOT NULL,
  `ip` varchar(16) NOT NULL,
  `startdatum` datetime NOT NULL,
  `bevestigen` varchar(45) NOT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `gebruikersnaam` (`gebruikersnaam`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
Code:
-- --------------------------------------------------------

--
-- Tabelstructuur voor tabel `login_attempts`
--

CREATE TABLE IF NOT EXISTS `login_attempts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date_time` datetime NOT NULL,
  `ip` varchar(16) NOT NULL,
  `sys_info` varchar(610) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
Code:
-- --------------------------------------------------------

--
-- Tabelstructuur voor tabel `sessions`
--

CREATE TABLE IF NOT EXISTS `sessions` (
  `sessionID` int(11) NOT NULL AUTO_INCREMENT,
  `gebruikerID` int(11) NOT NULL,
  `hash` varchar(40) NOT NULL,
  `hash_key` varchar(41) NOT NULL,
  `datum` datetime NOT NULL,
  `ip` varchar(16) NOT NULL,
  PRIMARY KEY (`sessionID`),
  KEY `gebruikerID` (`gebruikerID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan