显示或不显示表单的会话变量

Session variable to show a form or not

我只想在填写并提交之前的表格后才显示表格。因此,我创建了一个会话变量,它在我提交第一个表单时被初始化。像这样:

if( $flag)
            {
                $_SESSION['id_essai'] = $id_essai;
                echo $_SESSION['id_essai'];
                insertion_base($index_essai,$id_essai,$nom_local_essai,$nombre_traitements,$essai_ou_suivis,$thematique);
            }   

我可以在这个文件中得到这个 var 因为我的 echo 有效并且 return 值。

之后:

if(isset($_SESSION['id_essai']))
{
    echo'

        <div id="tab_traitement" class="excel"></div>

        <form action="#" method="POST">
            <button  type="button" class="btn btn-default" id="submit_button_traitement">Submit</button>
        </form> ';
}else 
    echo'Pour saisir un traitement, vous devez d\'abord faire la saisie d\'un essai';

这是我的 Index.php :

<?php session_start();?>

<!DOCTYPE HTML>

<meta charset="UTF-8">
<head>
    <title></title> 
</head>

<body>
        <?php include('onglets.php');?>

</body>

在文件 'onglets.php' 中:我有:

<div class="tabs" id="tabs">
  <ul>
    <li><a href="#tabs-1">Essai</a></li>
    <li><a href="#tabs-2">Traitement</a></li>
    <li><a href="#tabs-3">ITK PRO</a></li>
    <li><a href="#tabs-4">ITK </a></li>
    <li><a href="#tabs-5">Parcelle élémentaire</a></li>
    <li><a href="#tabs-6">Prélèvement</a></li>
    <li><a href="#tabs-7">Analyse</a></li>
    <li><a href="#tabs-8">Mesure plante principale</a></li>
    <li><a href="#tabs-9">Mesure plante CIPAN</a></li>
    <li><a href="#tabs-10">Station Climatique</a></li>
</ul>

    <div id="tabs-1">
        <?php include('essai.php');?>
    </div>

    <div id="tabs-2">
        <?php include('traitement.php');?>
    </div>

    <div id="tabs-3">
        <?php include('itk_pro.php');?>
    </div>

    <div id="tabs-4">
        <?php include('itk.php');?>
    </div>

    <div id="tabs-5">
        <?php include('pe.php');?>
    </div>

    <div id="tabs-6">
        <?php include('prelevement.php');?>
    </div>

    <div id="tabs-7">
        <?php include('analyse.php');?>
    </div>

    <div id="tabs-8">
        <?php include('mpp.php');?>
    </div>

    <div id="tabs-9">
        <?php include('mpc.php');?>
    </div>

    <div id="tabs-10">
        <?php include('station_climatique.php');?>
    </div>

</div>
<div id="tabid"></div>

然后我在 essai.php 中调用 ajax_insert_essai.php。在 ajax_insert_essai.php 中,我初始化 $_SESSION['id_essai']。

而且我的 session_start() 开头没有任何内容,所以这不是问题所在。请帮忙!

我该怎么办?

这是因为您使用了ajax。 Javascript 是客户端,php 是服务器端。 有表单的页面没有充值,所以没有被服务器处理,所以除非刷新页面,否则你将看不到session变量

两种解决方案:

提交第一个表单后刷新页面或使用客户端方法,javascript(我认为更好)