Bonjour,
J'en perds mon latin.
j'ai testé cette functionElle fonctionne bien quand elle est renseignée dans chaque page.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?PHP function precedent() { $d = $_SESSION['Balises2']; $regex = "/(.*)[0-9]+\\[.*\\]/"; preg_match($regex, $d, $resultats); $reste = $resultats[1]; // $reste contient la chaine sans le dernier morceau echo $reste. "ELSEIF"; } ?>
J'ai mis cette function dans un fichier dans un dossier.
J'appel cette function dans mes pages.
Mais quand je fais appel à elle avec le bouton précédent, un message d'erreur me dit que la function n'est pas définie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 elseif(isset($_SESSION['Balises2'])){ $page='3'; precedent(); }
Pourtant quand je tape le nom de la function il ne l'affiche pas en erreur, et la voit bien dans l'IntelliSense.Fatal error: Call to undefined function precedent() in C:\wamp\www\_Dev\sdp-asset2.php on line 20
Pourquoi?
J'ai mis
Même erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part include 'Data/precedent()';
J'ai mis
Plus d'erreur, mais le echo dans la fonction n'affiche rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part include 'Data/function-precedent.php';
J'ai aussi déclaré en superVariable $reste dans la function.
voici le code la page contenant l'appel de la function, à la ligne 23.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?PHP function precedent() { global $reste; $d = $_SESSION['Balises2']; $regex = "/(.*)[0-9]+\\[.*\\]/"; preg_match($regex, $d, $resultats); $reste = $resultats[1]; // $reste contient la chaine sans le dernier morceau return $reste; } ?>
J'ai aussi essayé avec la supervariant $GLOBALS[] ligne 5
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
55
56
57 <?php include("header.php"); ?> <div id="global"> <div id="texteglobal"> <div id="annule"> <span>En cas de demande annulée :</span> <a href="code-annuler.php" class="boutonannule">Cliquez ici</a> </span> </div> </br></br> <?php // Set session variables if (isset($_POST["balise"])) { $page='2'; /* $_SESSION["Balises1"] = $_SESSION["Balises2"];*/ // $_SESSION["Balises2"] = str_replace($page,"",$_SESSION['Balises2']); $_SESSION["Balises2"] = $_SESSION['Balises2']. $page. $_POST["balise"]; echo $_SESSION["Balises2"]."if"; } elseif(isset($_SESSION['Balises2'])){ $page='3'; include ('Data/function-precedent.php'); echo $reste. "function elseIF"; } ?> </br></br> Le propriétaire de la machine est-il bien la personne désignée dans le champ "requested for" ? </br></br> <table align="center"> <tr> <td> <form method="POST" action="sdp-demande2.php"> <!-- //<input type="hidden" name="page" value="<?= $page;?>"/> --> <input type="hidden" name="balise" value="[USER_CMDB_DIF_NON]"/> <input type="submit" name="non" value="NON" /> </form> </td> <td> <form method="Post" action="sdp-demande2.php"> <!-- //<input type="hidden" name="page" value="<?= $page;?>"/> --> <input type="hidden" name="balise" value="[USER_CMDB_DIF_OUI]"/> <input type="submit" name="oui" value="OUI"/> </form> </td> </tr> </table> <br/> <div id="precedent"> <form> <button type="submit"><a href="sdp-all.php">Précédent</a> </button> </form> </div> <br/> </div><!*-------END DIV texte----> </div> <?php include("footerR.php"); ?>
Cela n'affiche rien et ne fait pas du tout appel à la function.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?PHP function precedent() { global $reste; $d = $GLOBALS[$_SESSION['Balises2']]; $regex = "/(.*)[0-9]+\\[.*\\]/"; preg_match($regex, $d, $resultats); $reste = $resultats[1]; // $reste contient la chaine sans le dernier morceau return $reste; } ?>
idem
Merci
Partager