登录和会话 PHP

2024-03-29

我在检查会话时遇到一些问题,要访问页面,我需要激活会话。

登录流程:

    //Connect to mysql server
    require "reservation/connect.php";

    //Function to sanitize values received from the form. Prevents SQL injection
    function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysql_real_escape_string($str);
    }

    //Sanitize the POST values
    $login = clean($_POST['user']);
    $password = clean($_POST['password']);

    //Create query
    $qry="SELECT * FROM user WHERE username='$login' AND password='$password'";
    $result=mysql_query($qry);
    //Check whether the query was successful or not
    if($result) {
        if(mysql_num_rows($result) > 0) {
            //Login Successful
            session_regenerate_id();
            $member = mysql_fetch_assoc($result);
            $_SESSION['SESS_MEMBER_ID'] = $member['user_id'];
            $_SESSION['SESS_FIRST_NAME'] = $member['position'];
            session_write_close();
            //if ($level="admin"){
            header("location: admin/dashboard.php");
            exit();
        }else {
            //Login failed
            header("location: index.php");
            exit();
        }
    }else {
        die("Query failed");
    }
?>

验证:

if(!isset($_SESSION['SESS_MEMBER_ID']) || (trim($_SESSION['SESS_MEMBER_ID']) == '')) {
        header("location: index.php");
        exit();
    } 
?>

即使我从表单登录,页面也不会加载并将我重定向回索引!我做错了什么?我把“require_once('../auth.php');”在页面上,但它仍然无法正常工作。


那是因为它正在进入else声明的一部分,这意味着$result为 0 或假。

所以原因是查询一定失败了..所以添加mysql_error()像这样..

$result=mysql_query($qry) or die(mysql_error());

想知道具体原因..


This(mysql_*) 扩展已被弃用PHP 5.5.0,并且将来会被删除。相反,MySQLi or PDO_MySQL应使用扩展名。切换到PreparedStatements更好的抵御SQL注入攻击!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

登录和会话 PHP 的相关文章

随机推荐

  • 实体框架的 SQL 运算符函数是否可以安全防范 SQL 注入?

    这些函数可以访问 SQL 中的特殊函数 SqlClient 例如 喜欢 或 之间 他们还为它们提供了更好的通用抽象层 不要与存储过程 函数 混淆 这是另一篇文章的主题question https stackoverflow com ques
  • xyplot 中的多个 ablines

    我有一个 长 数据框定义为 q lt data frame Indicator Code factor Year numeric Value numeric 我试图在单个 xyplot 中绘制每个不同年份的值作为年份的函数Indicator
  • PHP 包含最佳实践问题

    我一直在学习 PHP 语法并进行练习 我有 NET 背景 因此母版页总是让我在处理页眉和页脚时变得非常简单 到目前为止 我有一个 mainHeader php 和 mainFooter php 其中有我的头部菜单和页脚 html 我创建了一
  • Android 和 iOS 上的 Open Graph SMS 丰富消息

    我正在尝试利用带有开放图元标记的富文本消息 因此 我已将元标记包含在我的网站头部中 并且它通过了所有 Facebook 调试和 iOS API 验证工具 然而 当我通过短信将链接发送给 Android 或 iOS 上的人时 它通常不起作用
  • 获取 Facebook 页面帖子

    我编写了一些 JavaScript 来获取 Facebook 页面上的所有帖子 我这样做的 URL 是这样的 http graph facebook com cocacola feed limit 5 callback facebookRe
  • C# 嵌入vlc控件

    我尝试将 VLC 嵌入到我的 WPF 项目中 我已经注册了 axvlc dll 还下载了 VLC nightly build 版本 2 2 2 System Windows Markup XamlParseException 类型的第一次机
  • Netbeans 删除内置类?

    我有一个 NetBeans 项目 其中有很多类 过去三周我一直在研究这个项目 今天才开始遇到这个问题 单击 NetBeans 中的 运行主项目 按钮时 我看到以下错误 Exception in thread main java lang N
  • 在x86汇编中,为imul使用两个单独的寄存器是否更好?

    我想知道 主要是出于好奇 使用相同的寄存器进行操作是否比使用两个更好 考虑到性能和 或其他问题 什么会更好 mov rbx rcx imul rcx rcx or mov rbx rcx imul rbx rcx 任何有关如何对此进行基准测
  • 适用于 Windows 安装的 GitHub

    安装 GitHub for Windows 时 如何解决此错误 尝试下载时发生错误 http github windows s3 amazonaws com GitHub application http github windows s3
  • 以下是在 Python Mechanize 中按下提交按钮的结果

    所以我有一个经过身份验证的网站 我想通过 mechanize 模块访问该网站 我可以登录 然后转到我想要的页面 但是 由于该页面识别出 mechanize 未启用 javascript 因此它希望我单击提交按钮以重定向到网站的非 javas
  • 如何在 Mockito 中模拟 instanceof

    我有一段代码 我想用 Mockito 测试一下 mockedClass instanceof SampleInterface The mockedClass被嘲笑的抽象类 MockedClass 以及SampleInterface是一个接口
  • 消除 Javascript 中的按键延迟

    我有以下问题 我正在尝试编写一个 Javascript 游戏 并且角色由箭头键控制 问题是 当一个人按住按键时 在触发第一个按键之间有一个短暂的延迟keypress以及重复的keypress 另外 当按下 向右箭头键 并保持按下状态 然后按
  • 使用基于函数的视图更新视图

    如何将对象传递到模型表单中以在呈现页面时预填充字段 我想做一些类似于 Django UpdateView 基于类的视图中的构建 但使用基于函数的视图 只需从模型中获取对象并将该对象作为实例传递给表单即可 然后将表单传递给模板 像下面的例子一
  • 使用 Flexjson 将 JSON 列表反序列化为对象列表

    我正在尝试反序列化以下 json books id 1 name book 1 id 2 name book 2 进入列表 之前用这个 json 工作过 id 1 name book 1 id 2 name book 2 使用此代码 Lis
  • data.table 将 NA 替换为多列的均值和 id

    如果我有以下数据表 dat lt data table id c 1 1 1 1 2 2 2 2 var1 c NA 1 2 2 1 1 2 2 var2 c 4 4 4 4 5 5 NA 4 var3 c 4 4 4 NA 5 5 5 4
  • setTimeout 函数中未定义的 JavaScript 变量

    我有以下代码 for var i 0 i lt markers length i var lat markers i 0 var lng markers i 1 var img markers i 2 var info markers i
  • 重命名 Azure Active Directory

    目前 我有一个与我在 Azure 平台工作的公司的一组订阅关联的 Active Directory 但是 默认目录 AD 位于域上forenamesurnamehotmailco where forenamesurname是一名不再在这里工
  • jquery iframe跨域动态高度

    仅使用 jquery 且没有庞大的插件 这是否可能 我知道有很多插件和替代品 我正在寻找最短 最强大和最干净的 最好依赖jquery 这里有基本的 jsfiddle 来尝试你的想法 http jsfiddle net 3vPJd http
  • 有没有办法将这个 PHP 放入数组并简化它?

    以下代码加载在指定文件夹 单独定义 中找到的所有 php 文件 有没有办法将其放入数组中以简化代码 只有几个变量发生变化 但本质上代码会重复多次 The General Files the general opendir FRAMEWORK
  • 登录和会话 PHP

    我在检查会话时遇到一些问题 要访问页面 我需要激活会话 登录流程 Connect to mysql server require reservation connect php Function to sanitize values rec