【问题标题】:Session variable to show a form or not会话变量是否显示表单
【发布时间】:2015-06-25 12:25:14
【问题描述】:

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

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

我该怎么办?

【问题讨论】:

  • 显示什么?其他部分还是什么?
  • 尝试 var_dump($_SESSION) 看看里面有什么
  • @SeijiSchoch 是的,$_SESSION 中没有任何价值,因为我找不到从文件中获取价值的方法。
  • 你在每个页面上都使用 session_start() 吗?
  • @VigneshBala 在我想要获取会话变量的文件中没有显示任何内容,但在第一个文件中我知道 $_SESSION['id_essai'] 包含我的值。

标签: php forms session-variables


【解决方案1】:

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

两种解决方案:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 2012-05-03
    • 2012-04-10
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多