Bonjour,

J'ai fais un condition avec switch dans mon fichier index.php:

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
$code = '11';
$file11 = 'code11.php';
$file22 = 'code22.php';
 
 
 
 
 
	switch($code)
		{
			case '11':
				//Arrêter de continuer sur ce fichier et lire et exécuter le fichier code11.php
				break;
 
			case '22':
				//Arrêter de continuer sur ce fichier et lire et exécuter le fichier code22.php
				break;
 
			default:
				// continuer d'exécuter ce fichier
 
				echo "<br>1re étape sans code d'exception";
				break;
		}
 
		echo "<br>On continue d'exécuter le fichier index.php! : <br> C’est bon  si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!";
Dans mon fichier, code11.php, il y a le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo "execution du fichier code11.php <br>";
et dans code22.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
echo "execution du fichier code22.php <br>";
Si le code est '11' --> j'aimerais exécuter le fichier code11.php sans continuer d'exécuter le reste du fichier index.php.
Il faut seulement voir le message suivant :

execution du fichier code11.php

Si le code est '22' :
execution du fichier code22.php


Et s'il y a un autre code, par exemple 159 :

1re étape sans code d'exception : On continue d'exécuter le fichier index.php!
On continue d'exécuter le fichier index.php! :
C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!


Si j'utilise la fonction require() ou include() avec die() :
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
$code = '11';
$file11 = 'code11.php';
$file22 = 'code22.php';
 
 
 
 
 
	switch($code)
		{
			case '11':
				//Arrêter de continuer sur ce fichier et lire et exécuter le fichier code11.php
				//  failed to open stream: Invalid argument :
				//fopen("G:\Vacances\code11.php", "r");
				require($file11);
				die();
				break;
 
			case '22':
				//Arrêter de continuer sur ce fichier et lire et exécuter le fichier code22.php
				//file_get_contents('G:\Vacances\code22.php');
				include ($file22);
				die();
				break;
 
			default:
				// continuer d'exécuter ce fichier
 
				echo "<br>1re étape sans code d'exception : On continue d'exécuter le fichier index.php!";
				break;
		}
 
		echo "<br>On continue d'exécuter le fichier index.php! : <br> C’est bon  si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!";
Cela marche bien. Mais je ne pense pas que c'est une bon solution. Parce que si la valeur de mon variable $code vient d'une tableau (array)....
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
$file11 = 'code11.php';
$file22 = 'code22.php';
$codes = array(22, 11, 457, 159);
 
foreach ($codes as $code) {
	switch($code)
			{
				case '11':
					require($file11);
					die();
					break;
 
				case '22':
					include ($file22);
					die();
					break;
 
				default:
					// continuer d'exécuter ce fichier
 
					echo "<br>1re étape sans code d'exception : On continue d'exécuter le fichier index.php!";
					break;
			}
 
	echo "<br>On continue d'exécuter le fichier index.php! : <br> C’est bon  si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!";
	}
À cause de die(), après le premier cas de code [22] on arête le traitement et il y a seulement le message suivant :
execution du fichier code22.php
C’est normal! Et si j'enlève die() :
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
$file11 = 'code11.php';
$file22 = 'code22.php';
$codes = array(22, 11, 457, 159);
 
foreach ($codes as $code) {
	switch($code)
			{
				case '11':
					require($file11);
					//////   die();
					break;
 
				case '22':
					include ($file22);
					//////   die();
					break;
 
				default:
					// continuer d'exécuter ce fichier
 
					echo "<br>1re étape sans code d'exception : On continue d'exécuter le fichier index.php!";
					break;
			}
 
	echo "<br>On continue d'exécuter le fichier index.php! : <br> C’est bon  si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!";
	}
Et ce qui s'affiche :
execution du fichier code22.php
On continue d'exécuter le fichier index.php! :
C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!

execution du fichier code11.php
On continue d'exécuter le fichier index.php! :
C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!


1re étape sans code d'exception : On continue d'exécuter le fichier index.php!
On continue d'exécuter le fichier index.php! :
C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!


1re étape sans code d'exception : On continue d'exécuter le fichier index.php!
On continue d'exécuter le fichier index.php! :
C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!
Comment puis-je faire pour que lorsqu'il y a le code 11 ou 22, il faille revenir au début du fichier index.php au lieu de continuer l'exécution du fichier index.php

Autrement dit il faudrait obtenir le message suivant :
execution du fichier code22.php



execution du fichier code11.php



1re étape sans code d'exception : On continue d'exécuter le fichier index.php!
On continue d'exécuter le fichier index.php! :
C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!




1re étape sans code d'exception : On continue d'exécuter le fichier index.php!
On continue d'exécuter le fichier index.php! :
C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!
Est-ce qu'il faut utiliser une autre fonction ?
Une fonction qui déclenche l'exécution d'un autre fichier en PHP en parallèle et indépendant d'index.php ?

Merci