Bonjour,

je fais un formulaire avec un contrôle de champs en jquery, après le submit ma variable $_SESSION['yourskin'] n'est pas définie, si j'actualise ma page elle est alors définie.

J'imagine que je ne déclare pas ma variable de session au bon endroit, mais je ne vois pas où ...

mon code :

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
	if (isset($_POST['skinsubmit'])) {
		extract($_POST);
		if (!isset($_SESSION['yourskin'])) {
			for ($n=0;$n<8;$n++) {
				$array = explode_trim(${"skin".$n});
				for ($i=0;$i<count($array);$i++) {
					switch ($array[$i]) {
						case "tgr":
						$_SESSION['tgr']+=1;
						break;
						case "gr":
						$_SESSION['gr']+=1;
						break;
						case "mi":
						$_SESSION['mi']+=1;
						break;
						case "nor":
						$_SESSION['nor']+=1;
						break;
						case "se":
						$_SESSION['se']+=1;
						break;
						case "des":
						$_SESSION['des']+=1;
						break;
						case "rea":
						$_SESSION['rea']+=1;
						break;
					}
				}
			}
		}
		else {
			echo "<div id='text_yourskin'>";
			echo ${"text_".($_SESSION['yourskin'])};
			echo "</div>";
			echo "<script>show(".$_SESSION['yourskin'].");</script>";
		}
		$result=array($_SESSION['tgr'],$_SESSION['gr'],$_SESSION['mi'],$_SESSION['nor'],$_SESSION['se'],$_SESSION['des'],$_SESSION['rea']);
		$max = max($result);
		print_r($result);
		$i=0;
		foreach ($result as $key => $value) {
			if ($value==$max) {
				$i++;
				$tab_max[$i]=$key;
				}
		}
			$_SESSION['yourskin']=($tab_max[1]);
 
		print_r($tab_max);
	}
?>
PS : le problème est que je POST -> au rechargement j'affecte $_SESSION -> la page ne connait pas $_SESSION tant que je n'ai pas rechargé, donc il faudrait que j'effectue les tests et l'affectation de cette variable avant le submit ?