gpt4 book ai didi

php - 注册 PHP session 变量

转载 作者:行者123 更新时间:2023-12-02 01:19:23 26 4
gpt4 key购买 nike

我正在尝试创建一个简单的登录表单。我有 session_start();作为页面上加载的第一件事。我有一个文件 login.php,其中包含登录相关代码,单击登录按钮时通过 ajax 调用处理这些代码。它包含:

if ($_GET['cemail']) {

$email = $_GET['cemail'];
$password = md5($_GET['cpassword']);
$sql = "select * from users where email='" . $email . "' and password='" . $password . "'";
$result = mysql_query($sql);
if (mysql_num_rows($result) >= 1) {
session_register("email");
}
else {
echo "<span style='color:#ffffff;'>Invalid Email/Password</span><br>";
}

}

当我单击“登录”按钮时,我收到此警告:

Warning: session_register() [function.session-register]: Cannot send session cache limiter - headers already sent (output started at /home/clicker/public_html/hstrial-RBochner/login.php:1) in /home/clicker/public_html/hstrial-RBochner/login.php on line 82

第 82 行是 session_register("email");

我还尝试创建一个注销按钮,它只调用 session_destroy(),但它给了我这个:

Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in /home/clicker/public_html/hstrial-RBochner/login.php on line 66

我在这里做错了什么?我试过将 session_start() 放在不同的地方。任何帮助/想法?谢谢。

最佳答案

你需要:

  1. 将 session_start() 放在代码的开头
  2. 不要使用session_register(),是一个过时的函数,用$_SESSION['foo'] = 'baa'代替;
  3. 销毁 session :

    session_start();
    session_destroy();

  4. 您的 Web 应用程序容易受到 SQL injection 的攻击攻击。-检查best way to stop SQL Injection in PHP

关于php - 注册 PHP session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6964229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com