会话变量显示表单与否

时间:2015-06-25 12:25:15

标签: php forms session-variables

我只想在填写并提交上一个表单时显示表单。所以,我创建了一个会话变量,当我提交第一个表单时,该变量被初始化。像这样:

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工作并返回值。

之后:

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()开头没有任何东西,所以这不是探测器。请帮忙!

我该怎么办?

1 个答案:

答案 0 :(得分:0)

这是因为你使用了ajax。 Javascript是客户端,php是服务器端。 带有表单的页面没有充值,因此服务器不会对其进行处理,因此除非您刷新页面,否则您将无法看到会话变量

两种解决方案:

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