我正在尝试将PHP $ _SESSION变量传递给javascript

时间:2015-07-27 13:58:19

标签: javascript php jquery session

所以我的最终目标是让我的数据库在出售某些东西时通知我的网站,这样它就会变暗,所以一个假设的顾客不能购买已售出的东西。我有我的数据库设置PHP会话变量,但我无法将该信息传输到javascript / jquery。我不确定是不是因为我做错了,或者因为我的方法存在逻辑上的错误。谢谢!这是我的代码: PHP:

<?php
$customer = new order;
$customer->item1Avail();
$customer->item2Avail();
$customer->item3Avail();
$customer->item4Avail();
var_dump($_SESSION);

$item1Status = $_SESSION['item1'];
$item2Status = $_SESSION['item2'];
$item3Status = $_SESSION['item3'];
$item4Status = $_SESSION['item4'];


?>

Jquery的:

var item1Status = <?php echo json_encode($item1Status); ?>;
var item2Status = <?php echo json_encode($item2Status); ?>;
var item3Status = <?php echo json_encode($item3Status); ?>;
var item4Status = <?php echo json_encode($item4Status); ?>;


if(item1Status == "sold"){
$("#picture1").css("opacity", "0.5");
$("#button1").css("visibility", "hidden");
$("#item1").css("opacity", "0.5"); 
} 

if(item2Status == "sold"){
$("#picture2").css("opacity", "0.5");
$("#button2").css("visibility", "hidden");
$("#item2").css("opacity", "0.5"); 
} 

if(item3Status == "sold"){
$("#picture3").css("opacity", "0.5");
$("#button3").css("visibility", "hidden");
$("#item3").css("opacity", "0.5"); 
} 

if(item4Status == "sold"){
$("#picture4").css("opacity", "0.5");
$("#button4").css("visibility", "hidden");
$("#item4").css("opacity", "0.5"); 
}

1 个答案:

答案 0 :(得分:2)

没有逻辑错误,你只需要用引号包装那些php回声:

var item1Status = "<?php echo json_encode($item1Status); ?>";
var item2Status = "<?php echo json_encode($item2Status); ?>";
var item3Status = "<?php echo json_encode($item3Status); ?>";
var item4Status = "<?php echo json_encode($item4Status); ?>";