Я столкнулся с этой проблемой: я сделал button report
на каждый комментарий на сайте, чтобы люди могли сообщать комментарий. Я хочу, чтобы кто-то нажал на кнопку, чтобы ее перенаправили во всплывающее окно, чтобы люди могли войти или зарегистрироваться. Я хочу, чтобы после регистрации/регистрации этот запрос (количество) отправляется в базу данных.Как использовать сессию php внутри jQuery?
Моя проблема заключается в том, как я могу выполнить это внутри 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);
}
});
});
позвольте мне привести вас к ответу - почему вы используете Ajax в этом фрагменте кода? (подсказка: jquery не может запустить php, поэтому он должен связываться с php на сервере через ajax). – WEBjuju
Я использую Ajax для отправки некоторых данных на php-страницы входа/регистрации/контроллера, где я вставляю/обновляю базу данных, сколько раз была нажата кнопка. Количество нажатий кнопки достигает некоторого числа, например, 20 автоматически закрывается. – toto
вправо, но вы не пытались поместить код controller.php в jquery. Таким же образом вам нужно использовать javascript для ajax для вызова вашего php, чтобы спросить, зарегистрирован ли пользователь, - тогда php может использовать if (isset ($ _ SESSION ['session_user'])) {do something} to отправьте назад json_encoded сообщение, сообщающее javascript, если пользователь вошел в систему и что делать. – WEBjuju