我有一个像这样的Ajax脚本,其中包含一个要处理的文件,即getvar.php:
<script type="text/javascript">
$(document).ready(function() {
$(".jenisdata").change(function() {
var jenisdata =$(this).val();
var dataString = 'jenisdata='+jenisdata;
$.ajax({
type: "POST",
url: "includes/analisis/getvar.php",
data: dataString,
cache: false,
success: function(html) {
$(".variabel").html(html);
}
});
});
});
</script>
和getvar.php来获取从Ajax传递的变量是这样的:
<?php
include ('../../../config/config.php');
$id_user=$_SESSION['id_user'];
if($_POST['jenisdata']) {
$id= $_POST['jenisdata'];
$query = "SELECT var.id_var, var.nama_var
FROM var, hak_akses
WHERE var.id_var = hak_akses.id_var
AND id_user ='$id_user' AND id_data ='$id'";
$results = mysql_query( $query);
$total = mysql_num_rows($results);
if ($total >0) {
while ($rows = mysql_fetch_assoc($results)) {
echo '<option value="'.$rows['id_var'].'">'.$rows['nama_var'].'</option>';
}
} else {
echo '<option value="" selected="selected">Data variabel belum diisi dijenisdata Ini</option>';
}
}
?>
此处无法读取变量$_SESSION['id_user']
。有什么问题,如何在Ajax包含的文件中获取会话?
答案 0 :(得分:0)
您必须在任何时候使用会话变量包含session_start();
像这样...
<?php
session_start();
include ('../../../config/config.php');
//rest of your code
?>
那是....假设你已经在较早的时间设置了$ _SESSION ['id_user'],并且确实存在......
答案 1 :(得分:0)
尝试回显你的Session变量并查看返回的内容,但当然首先要确保以KyleK说的方式启动会话。此外,验证会话变量是否已设置也没有坏处。