2012-06-12 139 views
0

嗨我试图创建一个管理员登录。在我的mysql数据库的users_table表中,我有字段管理员和它的默认值= N,但是如果它等于Y,那么直接指向它Admin.php 这里是我开始一个新会话的当前代码,我想知道如果我可以把它放在那里,如果它= Y然后说会话'管理'启动并重定向到Admin.php而不是$ _SESSION ['名称'](顺便说一下'名称'是我的数据库和字段'管理员是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]; 
    }   
    ?> 
+3

http://bobby-tables.com/ – Quentin

+1

哇......阅读[PHP MySQL的注入](http://php.net/manual/en/security。 database.sql-injection.php) – ManseUK

回答

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(); 
    } 
}   
+0

对不起,我是新来的。虐待在将来 – user1450791

+1

@ user1450791将来已经太晚了......在开始之前阅读它,否则您将重新编写所有代码......我建议您[从这里开始](http:// www .php.net /手动/ EN/intro.pdo.php) – ManseUK

相关问题