【问题标题】:i can't get access to my admin panel我无法访问我的管理面板
【发布时间】:2016-12-15 04:27:35
【问题描述】:

这是我的 php 代码:

if(isset($_POST['admlogin']))
{
    $u = $_POST['admname'];
    $pass = $_POST['admpass'];
    $_SESSION['admin']=$u;
    $p = md5($pass);
    $q = "SELECT * FROM admin WHERE user='$u' AND pass='$p'";
    $cq = mysqli_query($con,$q);
    $ret = mysqli_num_rows($cq);
    if($ret == true)
    {
        header('location:backend.php');

    }
    else
    {
        echo "<script>alert('Wrong Login Details, Try Again!')</script>";
    }

这是我的 sql 代码:

INSERT INTO admin (id, user, pass ) VALUES

(1, 'admin', 'admin'),

(2, 'friends', 'friends');

代码图片:

另外一张sql代码:

【问题讨论】:

  • 嗯你 md5 你的输入,但你插入的通行证是纯文本?假设它甚至到达那里,你还没有提供任何关于什么不起作用的信息,至少在发布之前调试以找出问题所在
  • 你试过回显查询吗?它会让你知道正在传递什么参数
  • 只是跳过 md5 ,它确实有效。那真是太不幸了。感谢您的友好回应。

标签: php mysql database phpmyadmin


【解决方案1】:

1) 形成您的insert query,它表明adminpasswordadmin。那不在md5 中,那么为什么你在比较时md5 你的password

2) 从$pass 中删除md5,因为您还没有在database 中保存md5 password。并添加mysqli_error()function 以查看任何errors

 if(isset($_POST['admlogin']))
    {
        $u = $_POST['admname'];
        $pass = $_POST['admpass'];
        $_SESSION['admin']=$u;
       // $p = md5($pass); remove this or save password with md5 in db
        $p = $pass;
        $q = "SELECT * FROM admin WHERE user='$u' AND pass='$p'";
        $cq = mysqli_query($con,$q) or die(mysqli_error($con));
        $ret = mysqli_num_rows($cq);
        if($ret == true)
        {
            header('location:backend.php');

        }
        else
        {
            echo "<script>alert('Wrong Login Details, Try Again!')</script>";
        }

【讨论】:

  • 非常感谢。不幸的是添加了md5。现在我的问题已经解决了。
  • @S.H.Kanon 如果它解决了你的问题,那就把它标记为你的答案:)
猜你喜欢
  • 2014-01-23
  • 2019-11-14
  • 2018-12-30
  • 1970-01-01
  • 2017-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多