如何在jQuery中使用php session?

时间:2016-11-25 21:04:39

标签: javascript php jquery ajax session

我正面临着这个问题:我对网站上的每条评论都做了button report,让人们举报评论。我想如果有人点击按钮被重定向到弹出窗口,让人们登录或注册。我想在登录/注册完成后将此请求(计数)发送到数据库。

我的问题是如何在jQuery代码中执行此操作:

if(isset($_SESSION['session_user'])) { /*do something*/ }.

以下是我已经做过的代码:

return this.each(function (i) {
    var count = 0;
    $(this).append("<button class='" + parametres.button + " report" + i + "''><span class='glyphicon glyphicon-alert'> </span>" + parametres.textBtn + "</button>").on('click', function () {
        //  if ("<%php !$_SESSION['user_session'] %>") {
        // Popup window
        $('#myModal').modal('show');
        // pane register
        $('.btnReg').on('click', function () {

            $.ajax({
                url: 'includes/register.php',
                data: {name: $('#nameReg').val(), email: $('#emailReg').val(), password: $('#passwordReg').val()},
                type: 'POST',
                beforeSend: function () {
                    //$('#error').fadeOut();
                    $("#error").html('<div class="alert alert-info"> <span class="glyphicon glyphicon-transfer">Envoi en Cours ...</span></div>');
                },
                success: function (data) {
                    if (data == 'exist') {
                        $("#error").html('<div class="alert alert-danger"> <span class="glyphicon glyphicon-info-sign"></span>Ce mail n\'est pas disponible !</div>');

                    } else if (data == 'success') {
                        $("#error").html('<div class="alert alert-success"> <span class="glyphicon glyphicon-info-sign"></span>Inscripton effectuée !</div>');

                    } else {
                        $("#error").fadeIn(1000, function () {
                            $("#error").html('<div class="alert alert-danger"><span class="glyphicon glyphicon-info-sign"></span>' + data + ' !</div>');
                        });
                    }
                }
            });
        });
        // pane login
        $('.btnLog').on('click', function (elem, i) {
            //event.preventDefault();
            $.ajax({
                url: 'includes/login.php',
                data: {email: $('#emailLog').val(), password: $('#passwordLog').val()},
                type: 'POST',
                success: function (data) {
                    if (data == 'success') {
                        $("#error").html('<div class="alert alert-info"> <span class="glyphicon glyphicon-transfer">Connexion en Cours...</span></div>');
                        setTimeout(' window.location.href = "index.php"; ', 4000);
                    } else { //alert(data);
                        $("#error").fadeIn(1000, function () {
                            $("#error").html('<div class="alert alert-danger"> <span class="glyphicon glyphicon-info-sign"></span>' + data + ' !</div>');
                        });
                    }
                }
            });
        });
        //}
        //This is the thing to be done after login, where to put it ?
        count = count + 1;
        if (count >= parametres.juge) {
            var content = $(this).text();
            var click = count;
            var tag = "<button class='" + parametres.button + " report" + i + "''>" + parametres.textBtn + "</button>";

            $.ajax({
                url: 'includes/controller.php',
                data: {content: content,
                    click: click,
                    tag: tag},
                type: 'POST',
                success: function (data) {
                    if (!data.error) {
                        //alert(data);
                        alert('Success!');
                    }
                }
            });
            $(this).animate({'opacity': 0}, 1000, function () {
                $(this).text(parametres.textReplace).css('color', parametres.colorTex);
            }).animate({'opacity': 1}, 1000);
        }
    });
});

2 个答案:

答案 0 :(得分:0)

你试过这样的尝试吗?

if( <?php isset($_SESSION['session_user']) ?>) { do something }

答案 1 :(得分:0)

您可以使用php来确定用户是否已登录,以及他们是否将其id打印到隐藏的输入变量中。

<?php isset($_SESSION['session_user']): ?>
  <input type="hidden" id="session_user_id" value="<?php echo $_SESSION['session_user_id']; ?>">
<?php endif; ?>

然后在js中当你需要id时,你可以使用jquery来找到它:

var session_user_id = $('#session_user_id').val();