I want to show a form only if the previous form is filled and submitted. So, I created a session variable which is initialized when I submit the first form. Like this :
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);
}
I can get this var
in this file because my echo works and return the value.
After that :
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';
This is my Index.php :
<?php session_start();?>
<!DOCTYPE HTML>
<meta charset="UTF-8">
<head>
<title></title>
</head>
<body>
<?php include('onglets.php');?>
</body>
In the file 'onglets.php' : I've got :
<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>
And I call ajax_insert_essai.php in essai.php. In ajax_insert_essai.php, I initialize $_SESSION['id_essai'].
And I have my session_start()
at the beginning without something before so that's not the probem. Please, some help!
How can I do ?
This is because you use ajax. Javascript is client side and php is server side. The page with the form is not recharged, so it isn't processed by the server, so you won't be able to see the session variable unless you refresh the page
Two solutions :
Refresh the page after submitting the first form or use a client-side method, with javascript (better imo)