我对PHP很陌生,并坚持如何使用会话来检查数据库的用户名和密码。
我有一个PHP文件调用createuser.php,它允许我使用html文本框中的用户名和密码将用户添加到数据库。我有另一个名为viewuser.php的文件,它允许我输入用户名和密码,看看数据库中是否存在该用户/密码。
我如何向checkuser添加会话,如果用户名和登录名正确且位于数据库中,则只允许用户使用该文件。
如果我的checkuser.php文件是Belor。
<?php
$username = $_POST['username'];
$password = $_POST['password'];
$db= new PDO('sqlite:test2.db');
$query = "SELECT * from login WHERE username = '$username' AND password = '$password' ";
$results = $db->Query($query)->fetchAll();
foreach ($results as $arow) {
print 'username: ' . $arow['username'] . ' password: ' . $arow['password'].'<br>';
}
$rowcount = count($results);
print "number of rows $rowcount <br>" ;
if ( $rowcount > 0 ){
print " details matched atleast once <br>";
}else{
print " details did not match <br>";
}
?>
<form action='' method=post>
Username <input type='text' name='username' /> <br>
Password <input type='text' name='password' /> <br>
<input type='submit' value='Submit' />
</form>
答案 0 :(得分:0)
以下是
....
$rowcount = mysql_num_rows($results);
if ( $rowcount > 0 )
{
session_start();
$_SESSION['user'] = $arow['username'];
print " details matched atleast once <br>";
}
else
{
print " details did not match <br>";
}
?>
...
在其他所有页面中
<?php
session_start();
if(!isset($_SESSION['user']))
//redirect to login
else
//logged in