我有這個網站,我可以作爲登錄或匿名用戶與網站進行交互。當我點擊一個鏈接我叫一個Ajax功能:在ajax調用之前創建會話
您點擊這裏:
<a id="alcrearuta" class="'.$row->urlamigable.'" href="#">añadir a ruta</a>
這是我的AJAX功能:
var valor=$("#alcrearuta").attr('class');
$("#alcrearuta").click(function(){
$.ajax({
type: "GET",
url: "../ajax/ruta.php",
data: "urlamigable=" + valor,
dataType: 'html',
success: function(data) {
$("#listaruta").html(data);
}
});
});
的事情是我有兩個選擇:要麼是記錄用戶點擊鏈接,ruta.php在數據庫上做了它的東西,考慮在會話中設置的用戶標識,或者我有一個匿名用戶想要做類似的事情。
在我ruta.php我:
if(!empty($_SESSION['Username'])){
//Insert stuff on DB
}else{
//I wish I could create the session here but I can't since it's an ajax call
}
我需要的是在鏈接的點擊和AJAX功能結束時,我可以把我的$ SESSION [「用戶名」]之間的某一點變量來獲得一個新的值(因爲用戶它沒有登錄,它目前是空的,因此我插入數據庫不工作)
爲什麼ajax會干擾初始化會話...只要服務器被隱藏,請求就是一個請求。 – prodigitalson 2011-05-31 14:54:56
他登錄並看到這個東西,或者這是登錄頁面? – 2011-05-31 14:55:30
在你的屏幕上你沒有登錄後顯示的用戶名?如果是這樣,你的javascript可以檢查它,或者,通過PHP更改ajax調用,例如,通過會話寫出不同的ajax javascript(取決於用戶是否登錄) – BugFinder 2011-05-31 14:56:30