Bonjour,

J'utilise un champ d'aiguillage pour s'avoir si j'affiche un historique ou pas

Dans mon code php j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Aiguillage vers la gestion du dossier ou vers sa modification
if (!empty($_POST)) 
	{
		if (isset($_POST['Ajouter']))
		{
			header("Location: ajouter_requete.php");
		}
		if (isset($_POST['Historique']))
		{
// Valeur de l'affichage de l'historique
			if ($histo=="")
			{
			$histo="1";
			}
			Else
			{
			$histo="";
			}
			header("Location: requetes.php");
		} 
		if (isset($_POST['Retour']))
		{
			header("Location: requetes.php");
		}    
	}
Dans ma page html j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
		{if $histo=="" and $requete.id_trt!="5"}	
		<td>{if $requete.id_trt != "5"}<input type="button" onclick="javascript:window.location = 'gerer_requete.php?send_sql_id={$requete.sql_id}&send_trt=gerer';" value="Gérer">{/if}</td>
		<td>{if $requete.id_trt != "5"}<input type="button" onclick="javascript:window.location = 'modifier_requete.php?send_sql_id={$requete.sql_id}&send_trt=modifier';" value="Modifier">{/if}</td>
		<td>{if $requete.id_trt != "5"}<input type="button" onclick="javascript:window.location = 'modifier_requete.php?send_sql_id={$requete.sql_id}&send_trt=supprimer';" value="Supprimer">{/if}</td>
    	{if $requete.id_trt == "1"}
	   		<td><img src="{#prefixe_site#}images/Green.ico" alt="Validé"></td>
	   	{elseif $requete.id_trt == "5"}
		   	<td><img src="{#prefixe_site#}images/archive.png" alt="Archivé"></td>
	   	{else}
	   		<td><img src="{#prefixe_site#}images/Red.ico" alt="A Valider"></td>
   		{/if}
   		<td class='t_cell'><input type="hidden" name="sql_id" value={$requete.sql_id}>{$requete.sql_type_id|getRequete}</td>
   		<td class='t_cell'>{$requete.libelle}</td>
   		{/if}
Le problème c'est qu'il me dit que $histo n'est pas défini, ce que je crois au vu de mon code.

Mais si je mets

Comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$histo=""
// Aiguillage vers la gestion du dossier ou vers sa modification
if (!empty($_POST)) 
	{
		if (isset($_POST['Ajouter']))
		{
			header("Location: ajouter_requete.php");
		}
		if (isset($_POST['Historique']))
		{
// Valeur de l'affichage de l'historique
			if ($histo=="")
			{
			$histo="1";
			}
			Else
			{
			$histo="";
			}
			header("Location: requetes.php");
		} 
		if (isset($_POST['Retour']))
		{
			header("Location: requetes.php");
		}    
	}
J'initialise bien mon champ, mais il sera initialisé à chaque fois dans mon code PHP or cela ne me convient pas puisqu'il doit prendre la valeur 1 et la garder jusqu'au prochain clic sur "Historique".

Est-il possible d'initialiser un champ qu'une seule fois dans du PHP.

Merci