开发者问题收集

使用 jquery 设置会话-ajax、php 不起作用

2018-05-20
57

嗨,我尝试使用 PHP 设置会话,但它不起作用,我不知道为什么。

$query = "INSERT INTO login (name,`password`) VALUES ('$emailLog', '$passLog')";
                    $response = @mysqli_query($dbc, $query);
                    if ($response) {
                        echo ('sent');
                        session_start();
                        $_SESSION['email'] == $row["email"];

                        header("refresh: 2", 'url= index.php');
                    } else {
                        echo mysqli_error($dbc);
                    }

PHP 文件 (index.php) :

<?php
session_start();
?>

。 . 一些 html 代码,然后检查会话(始终为空) . 。

<?php
if (isset($_SESSION['email'])) {
    echo "logout";
} else {
    echo "login";
}
?>

这是我尝试设置会话的 PHP 代码,但多次尝试后,我决定尝试使用 jquery 设置会话,这是我的代码:

if(data.indexOf('sent') > -1){
                         $("#alertLog").addClass('alert-success');
                         $("#alertLog").html('Logged in successfully');
                                 
                     $("#alertLog").slideDown(500).delay(1000).slideUp(500);
                         $('#emailLog').val("");
                         $('#passLog').val("");
                         $.session.set("email", 'emailSign');
                         location.replace("index.php");
}

当我尝试登录时,它显示我已成功登录并将字段的值设置为 null (""),但它崩溃了 $.session.set('email', 'emailSign')...并显示以下错误消息:

-- Uncaught TypeError: Cannot read property 'set' of undefined at Object.success

任何有关 PHP 设置会话或 JQuery 的帮助。

2个回答

我解决了这个问题...这是一个非常愚蠢的错误... 在我的 PHP 文件中我写道:$_SESSION["email"] == $row["email"]; 而不是 $_SESSION["email"] = $row["email"];

我放了两个等号...这就是错误

Abu Machi
2018-05-20

会话是服务器端,jQuery是客户端。 如果您不使用某些插件或其他任何内容,则通常对会话一无所知。

Vladimir.V.Bvn
2018-05-20