Bonjour à tous,
J'ai une page avec:
- un contrôleur 'index.php',
- un template 'views/template.php',
- un premier formulaire 'views/mainForm.php',
- un second formulaire 'views/navForm.php' à afficher sous le premier formulaire.
Le premier formulaire est commun à plusieurs pages, mais le second formulaire n'est pas toujours 'navForm.php'.
Je ne comprends pas pourquoi le deuxième formulaire ne s'affiche pas.
Voici mes codes simplifiés:
index.php
template.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /*... Code ...*/ require_once('views/menuV.php'); require_once('views/mainForm.php'); require_once('views/navForm.php'); /* fin du code */
mainForm.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 <!DOCTYPE html> <html> <head> </head> <body> <?php require_once('header.php'); ?> <!-- fichier correctement inséré --> <section> <div id="left"> <?= $echo['menuV']; ?> <!-- menu correctement inséré --> </div> <article id="right"> <?= $echo['main']; ?> <!-- formulaire principal correctement inséré --> <?= $echo['foot']; ?> <!-- Provoque une erreur undefined index: foot --> </article> </section> </body> </html>
navForm.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php ob_start(); ?> <form method="post" action=""> <!-- code du formulaire --> </form> <?php $echo['main'] = ob_get_clean(); ?> <?php require_once(COMMON_TEMPLATE); ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php ob_start(); ?> <form method="post" action="footFormHandle.php" class="footForm"> <label for="favourites">Favoris</label><?= $lstFavourites; ?> <!-- Contient une liste d'options complète élaborée dans index.php --> <label for="latest">Récents</label><?= $lstLatest; ?> <!-- Contient une liste d'options complète élaborée dans index.php --> <label for="search">Chercher</label><input type="text" name="search" /><!-- --><input type="image" name="glass" src="../images/glass.png" alt="Loupe" /><br/> </form> <?php $echo['foot'] = ob_get_clean(); ?>
Partager