私はこの問題に直面しています。私は、人々にコメントを報告できるようにウェブサイトのすべてのコメントにbutton report
を作成しました。誰かがボタンをクリックしてポップアップウィンドウにリダイレクトされ、人々がログインまたは登録できるようにしたいと思っています。私はログイン後にしたい/登録が行われたこの要求(カウント)はデータベースに送信されます。jQueryの内部でphp sessionを使用するには?
私の問題は、私は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を実行できないので、ajax経由でサーバー上のphpと通信する必要があります)。 – WEBjuju
Ajaxを使用して、ログイン/登録/コントローラのPHPページにデータを送信しています。ここでは、ボタンを何回クリックしたかのようにデータベースを挿入/更新します。ボタンのクリック数は、コメントが自動的に隠れる20のようないくつかの数字に達する。 – toto
右ですが、controller.phpコードをjqueryに入れようとはしません。同じ方法で、あなたは、ユーザーがログインしているかどうかを尋ねるためにphpへの呼び出しをjavascriptを使って行う必要があります - そして、PHPはif(isset($ _ SESSION ['session_user'])){do something}ユーザーがログインして何をすべきかをjavascriptに伝えるjson_encodedメッセージを送り返します。 – WEBjuju