在标题(header.phtml)中,我开始会话:
<?php
if (session_status() == PHP_SESSION_NONE)
session_start();
?>
<!DOCTYPE html>
<html>
<head>
...
现在在其他页面中我想设置一个会话值:
<script type="text/javascript">
$(document).ready(function() {
$("#add_reservS").on("click", function(e) {
<?php
$_SESSION['nb_ajout_client'] = 0;
?>
});
...
然后我在其他页面中增加此会话值:
public function ajouterExecAction($src = '', $pk_src = ''){
$client = new Client();
$client->ajouter($_POST);
if ($src == '')
$this->response->redirect('ReferentielClient');
else {
$_SESSION['nb_ajout_client']++;
...
}
...
}
现在在另一个页面中我想获得此会话值:
<script type="text/javascript">
$(document).ready(function() {
$("#btn_retour").on("click", function() {
var back = "<?php echo $previous; ?>";
if (back == "list_reserv")
window.history.back();
else {
var nb_back = "<?php echo $_SESSION['nb_ajout_client']; ?>";
alert("session nb ajout client = "+nb_back); // nb_back is blank !
}
});
});
</script>
警报显示空白值!那我的方法有什么问题呢?
答案 0 :(得分:1)
您必须使用session_start();
启动每个文档。虽然它不再需要成为第一行,但在对文件中的会话执行任何操作之前,它确实需要存在。
通常从公共包含文件启动会话,然后包含在需要会话的每个页面中。因此,您只需要编写一次。