您好我正在尝试创建管理员登录。在我的mysql数据库中,在表'users_table'中我有字段admin并且它的默认值= N但是如果它等于Y则指向Admin.php 这是我当前启动新会话的代码,我想知道是否可以把它放在那里,如果它确实= Y然后说会话'Admin'启动并重定向到Admin.php而不是$ _SESSION ['name'] (顺便说一下'name'是我数据库中的字段1,字段'admin'是7
<?php
session_start();
include ('condb.php');
$name = $_POST ['username'];
echo $name;
$query ="SELECT name FROM users_table WHERE (name = '$name')" ;
$result = mysql_query($query)
or die (mysql_error($con));
$row= mysql_num_rows($result);
if ($row=1){
$_SESSION['name'] = $row[1];
}
?>
答案 0 :(得分:2)
除了强制性的SQL注入外,您尝试了什么?这说“这是我的代码,修复它”。请阅读(最近的)PHP + MySQL教程,它将指向PDO。真的,给它一个阅读。
与此同时,这样的事情可能有用:
$rowcount = mysql_num_rows($result);
if ($rowcount == 1){
$row = mysql_fetch_array($result);
$_SESSION['name'] = $row['name'];
if ($row['admin'] == 'Y')
{
$_SESSION['admin'] = $row['admin'];
header("Location: admin.php");
exit();
}
}