Bonjour,
mon code est basé sur l'existence de $_POST['user_name'] (if (isset($_POST['user_name']))) et je ne comprends pas pourquoi cette condition n'est pas valide.

index.php :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 <p>Bienvenue sur le mini site consacré aux villes. </p>
            <?php include('user_authent.php');?>
            <?php require('inc_menu.php'); ?>

user_authent.php :
Code php : 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
  <?php
            if (!isset($_POST['user_name'])) { ?>
            <p>
              Pour commencer, merci de vous identifier :<p/>
 
              <form method="POST" action="">
                <input type="text" name="user_name" />
                <input type="submit" name ="submit_user_name" value="votre nom" />
            </form>
<?php }
else {
    $user_nom = $_POST['user_name'];
  ?>
    <p>Utilisez le menu de navigation pour consulter les pages du site ou rechercher <a href="search.php?name=<?= $user_nom ?>">ici</a>. <br>
    Bonne visite !</p>
 <?php } ?>

dans villes.php :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
<?php echo "include menu<br/>"; var_dump($_POST); include("inc_menu.php"); ?>

inc_menu.php :
Code php : 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
 
 <?php
            $result = $mysqli->query('SELECT ville_id, ville_nom FROM villes');
            while ($row = $result->fetch())
            {
                $villes[$row['ville_id']] =$row['ville_nom'];
            }
            ?>
 
<?php if (isset($_POST['user_name'])) { ?>
        <ul>
            <li><a href="index.php">Accueil</a></li>
            <?php foreach($villes as $id => $ville) : ?>
            <li><a href="villes.php?id=<?php echo $id ?>"><?php echo $ville ?></a></li>
            <?php endforeach ?>
        </ul>
 <?php } ?>

Quand je vais dans villes.php, cela affiche ça :
include menu
array(0) { }
Pourtant, m'étant déjà identifié donc passé dans user_authent.php, l'action du formulaire aurait du créer une variable $_POST, non ?