I've written a little login script. I want to load my index.php dynamically this way:
index.php
- Code: Select all
<?php
session_start();
if(!isset($_SESSION['username'])) {
$_SESSION['username'] = "";
}
print('username: '. $_SESSION['username']);
if($_SESSION['username'] == "") {
include('./welcome.php');
include('./loginform.php');
} else {
include('./subject.php');
}
?>
Where welcome.php looks like:
- Code: Select all
<?php
print(
'<h1>Welcome!</h1>
<p>You have to login to browse subject.</p>'
);
...and loginform.php like this:
- Code: Select all
<?php
print(
'<form id="loginform" action="./login.php" method="post">
<div class="main">
<div class="caption">
Username:
</div>
<div class="field">
<input class="login" id="username" type="text">
</div>
<div class="caption">
Password:
</div>
<div class="field">
<input class="login" id="passwd" type="password">
</div>
<input class="logincontrol" type="submit" value="Login">
</div>
</form>'
);
?>
This php uses login.php:
- Code: Select all
<?php
$link=mysql_connect('myserver', 'myadmin', 'mypass')
or die(mysql_error());
mysql_select_db('mydb', $link);
$username = $_POST['username'];
$passwd = $_POST['passwd'];
$query = 'select login, name, passwd, email from users
where login='.$username.' and passwd=md5('.$passwd.');';
$result = mysql_query($query, MYSQL_ASSOC);
if(count($result) == 0) {
$_SESSION['username'] = "";
} else {
$_SESSION['username'] = $result['login'];
}
mysql_free_result($result);
mysql_close($link);
header('Location: ./index.php');
?>
subject.php contains "subject" only.
Result always is
- Code: Select all
$_SESSION['username'] ==""
Does anybody know the mistake?
Thank You in anticipation,
b



