FmTx
Legacy Member
Hallo 
Ik ben php aan het leren (zelfstudie) met een online "cursus" die ik gevonden heb in de webmastergids hier op het forum. Nu, het inlogsysteem dat ik geschreven heb werkt, maar niet volledig zoals ik het zou willen.
PS: Ja, ik weet dat ik nog geen mogelijkheid voor uit te loggen heb geschreven, maar dat komt nog wel.
Even uitleggen:
eerste bezoek:
start sessie en kijken of de surfer al authenticated is, indien niet > toon login formulier'tje met de require()-functie. alles nog ok, ik log in: "Welcome" word weergegeven, maar het login-formulier verdwijnt niet tot ik de pagina nog eens herlaad.
Ik moet dus inloggen en pagina refreshen, dan pas verdwijnt het loginformulier
(username:__________ , password:_________ )
hoe kan ik dit probleem oplossen?? - zie code hieronder
test_login.php
_login.php
Indien nodig post ik de inhoud van connect.php ook, maar dit leek me niet relevant.
ALVAST BEDANKT
screenshots ter verduidelijking:
1) eerste_bezoek.png
2) ingelogd.png
3) ingelogd_en_refreshed.png

Ik ben php aan het leren (zelfstudie) met een online "cursus" die ik gevonden heb in de webmastergids hier op het forum. Nu, het inlogsysteem dat ik geschreven heb werkt, maar niet volledig zoals ik het zou willen.
PS: Ja, ik weet dat ik nog geen mogelijkheid voor uit te loggen heb geschreven, maar dat komt nog wel.
Even uitleggen:
eerste bezoek:
start sessie en kijken of de surfer al authenticated is, indien niet > toon login formulier'tje met de require()-functie. alles nog ok, ik log in: "Welcome" word weergegeven, maar het login-formulier verdwijnt niet tot ik de pagina nog eens herlaad.
Ik moet dus inloggen en pagina refreshen, dan pas verdwijnt het loginformulier
(username:__________ , password:_________ )
hoe kan ik dit probleem oplossen?? - zie code hieronder
test_login.php
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
//-- connectie maken
require("connect.php");
//-- start sessie
session_start();
if (!$_SESSION['auth'] == 1)
{
require("_login.php"); // toon login-formulier indien (nog) niet authenticated.
//-- formulier gepost?
if(isset($_POST['submit']))
{
//-- alles netjes ingevuld?
if( !empty($_POST['username']) && !empty($_POST['password']) )
{ // alles netjes ingevuld? -> ja
$username=$_POST['username'];
$password=$_POST['password'];
if( isset($username, $password) )
{
$query="select user_id from `_users` where user_name=\"".$username."\" and user_password=\"".sha1($password)."\"";
$result=mysql_query($query) or die(mysql_error());
if( mysql_num_rows($result) )
{ // account is geldig
echo "Welcome, $username.";
$_SESSION['auth'] = 1;
setcookie("username", $_POST['username'], time()+(84600*30)); // 30 dagen geldig.
unset($username, $password);
}
else
{ // foutieve username en/of password
echo "Could not login. Please try again.";
}
}
else
{ // iets misgelopen..
echo "Error: Something's wrong!";
}
}
else
{ // alles netjes ingevuld? -> nee
echo "Error: Please fill in your username and password.";
}
}
}
else
{
echo "Welcome, ".$_COOKIE['username']; // probleem: er verschijnt wel "Welcome" maar login-formulier staat er nog, tot ge de pagina refresht/opnieuw open doe..
}
//-- free memory
mysql_free_result($result);
//-- disconnect
mysql_close($connection);
?>
</body>
</html>
_login.php
PHP:
<form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
username: <input type="text" name="username" />
password: <input type="password" name="password" />
<input type="submit" name="submit" value="login" />
</form>
Indien nodig post ik de inhoud van connect.php ook, maar dit leek me niet relevant.
ALVAST BEDANKT
screenshots ter verduidelijking:
1) eerste_bezoek.png
2) ingelogd.png
3) ingelogd_en_refreshed.png