【发布时间】:2018-01-26 16:31:38
【问题描述】:
当我单击Sort By Date Created 按钮时,字符串date 被传递给函数sort() 并且警报1(参见代码)打印字符串date。
字符串date 存储在第一个if 语句的会话中,警报2 打印date。问题是 date 只是临时存储,警报 3 总是提醒 service,无论类型如何。如果我更改 if 语句的顺序,最后一个 if 语句的字符串总是以某种方式存储在会话中。
<?php session_start(); ?>
<html>
<head>
<script>
function sort(type){
alert('<?php echo $_SESSION['sort']; ?>'); ///ALERT 1
if (type == 'date'){
<?php $_SESSION['sort'] = 'date'; ?>
alert('<?php echo $_SESSION['sort']; ?>'); ///ALERT 2
}
else if (type == 'cost'){
<?php $_SESSION['sort'] = 'cost'; ?>
alert('<?php echo $_SESSION['sort']; ?>');
}
else if (type == 'service'){
<?php $_SESSION['sort'] = 'service'; ?>
alert('<?php echo $_SESSION['sort']; ?>');
}
alert('<?php echo $_SESSION['sort']; ?>'); ///ALERT 3
}
</script>
</head>
<body>
<input type="button" onclick="sort('date');" value="Sort By Date Created">
<input type="button" onclick="sort('cost');" value="Sort By Cost">
<input type="button" onclick="sort('service');" value="Sort By Service">
</body>
</html>
【问题讨论】:
标签: javascript php html session session-variables