Nieuw lid |
|
Ik heb een probleem met mijn session variables, deze worden namelijk niet doorgegeven. Ik heb al vele forums ligge afzoeke naar fouten, maar ik vind geen oplossing. Ik situeer ff mijn probleem. Het gaat hem om een (nu nog) simpel login systeem.
Ik heb een database met een tabel "Members" met de structuur:
ID int(11) auto_increment & Primaire sleutel
name varchar(50)
pass varchar(50)
ip varchar(50)
status int(11)
Ik heb een site "database.php" waarin ik verbinding maak met mijn database. Hierin wordt ook altijd een sessie gestart -> session_start(), de allom cliché fout.
Vervolgens heb ik een klein stukje code (login.php):
<?
include('database.php');
?>
<font size=1 face=verdana>
<FORM action="login.php" method="post">
Username:<br>
<INPUT type="text" name="username">
<BR>
Wachtwoord:<br>
<INPUT type="password" name="pass"><br>
<input type="submit" value="submit" name="submit">
</form>
<?
if(isset($_POST['submit']))
{
$username = trim(strtolower($_POST['username']));
$pass1 = $_POST['pass'];
$query = mysql_query("SELECT * FROM Members WHERE name = '$username' and pass = '$pass1'");
$num=mysql_numrows($query);
if($num > 0)
{
print "Your logged in as " . $username . "<br> <a href=logout.php>log out.</a>";
$row = mysql_fetch_assoc($query);
$username = mysql_real_escape_string($username);
$_SESSION['login']=true;
$_SESSION['username']=$username;
$_SESSION['rank']=$row['status'];
echo $_SESSION['login'];
echo $_SESSION['username'];
echo $_SESSION['rank'];
}
else
{
print "You filled in a wrong password and/or username";
}
}
?>
Als ik met de juiste name & pass inlog toont hij de session variables & zegt hij dat ik "ingelogd" ben.
Als ik dan vervolgens op de link klik: Log out gaat hij naar deze pagina, deze pagina bevat nog geen logout systeem, het is maar een simpele test of ik hier session variables doorgeef. Deze pagina bevat de code:
<?
session_start();
echo $_SESSION['login'];
echo $_SESSION['username'];
echo $_SESSION['rank'];
?>
<? include('database.php'); ?> <font size=1 face=verdana> <FORM action="login.php" method="post"> Username:<br> <INPUT type="text" name="username"> <BR> Wachtwoord:<br> <INPUT type="password" name="pass"><br> <input type="submit" value="submit" name="submit"> </form> <? if(isset($_POST['submit'])) { $pass1 = $_POST['pass']; $query = mysql_query("SELECT * FROM Members WHERE name = '$username' and pass = '$pass1'"); if($num > 0) { print "Your logged in as " . $username . "<br> <a href=logout.php>log out.</a>"; $_SESSION['login']=true; $_SESSION['username']=$username; $_SESSION['rank']=$row['status']; echo $_SESSION['username']; } else { print "You filled in a wrong password and/or username"; } } ?> Als ik met de juiste name & pass inlog toont hij de session variables & zegt hij dat ik "ingelogd" ben. Als ik dan vervolgens op de link klik: Log out gaat hij naar deze pagina, deze pagina bevat nog geen logout systeem, het is maar een simpele test of ik hier session variables doorgeef. Deze pagina bevat de code: <? echo $_SESSION['username']; ?>
Dit toont niets, ik begrijp niet hoe dit kan...
Iemand die mij misschien kan helpen?
Citaat: Rens edit:
Codetags!
|