我的页面工作正常,登录将把我带到index.php,但它永远不会重定向到dashboard.php。我很感激任何意见。
数据库列是:id |用户名|密码|管理员
帐户只有两种类型,管理员帐户由1
<?php
// Get username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// Connect to database
include "db_connect_service.php";
// To protect MySQL injection
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$mypassword = crypt($mypassword, '$1$philipphp');
// Query
$result= $dbh->query("SELECT * FROM members WHERE username='$myusername' AND password='$mypassword';");
// Mysql_num_row is counting table row
$count = $result->rowCount();
// Determine if user is "user" or "admin"
$usertype = $dbh->query("SELECT admin FROM members WHERE username='$myusername';");
$row = mysql_fetch_row($usertype);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1) {
// Start session, register $myusername, $mypassword and redirect to login_success.php
session_start();
$_SESSION['myusername'] = $myusername;
$_SESSION['mypassword'] = $mypassword;
$_SESSION['admin'] = $row;
// Redirect to appropriate page depending on user rights. Indicator 0 for user, 1 for admin.
if ($_SESSION['admin'] == 1){
header("location:dashboard.php");
}
else {
header("location:index.php");
}
$dbh = null;
}
else {
echo "Wrong Username or Password";
}
?>
答案 0 :(得分:2)
$_SESSION['admin'] = $row;
- &gt;你分配一行。但请查看1
。
我认为您的admin
字段是表格中的用户类型。因此,您必须获取用户类型并在if
条件
这样做
$_SESSION['admin'] = $row["admin"];
答案 1 :(得分:0)
试试这个......
$_SESSION['admin'] = $row[0];
答案 2 :(得分:0)
改变
$usertype = $dbh->query("SELECT admin FROM members WHERE username='$myusername';");
进入
$usertype = $dbh->query("SELECT id FROM members WHERE username='$myusername' AND admin='1'");
$row = mysql_fetch_row($usertype);
你试过{$ 1}你的$ row
吗?尝试这样做
因为我认为您的echo
或$row