PHP include_once pour header dans fichier parent
Bonjour à tous.
j'ai un soucis car je suis un cours php dans lequel on fait un site.
mon header est dans le dossier principal 'test' où il y a la page d'accueil , form de contact, variables, fonctions, footer...
et mon formulaire d'ajout de recette 'create', est dans un sous-dossier 'test/recipes/create'.
mon header
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="<?php echo($rootUrl). 'home.php'; ?>">Site de Recettes</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="<?php echo($rootUrl). 'home.php'; ?>">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo($rootUrl). 'contact.php'; ?>">Contact</a>
</li>
<?php if(isset($loggedUser)) : ?>
<li class="nav-item">
<a class="nav-link" href="<?php echo($rootUrl). 'recipes/create.php'; ?>">Ajoutez une recette !</a>
</li>
<?php endif; ?> |
avec dans 'variables.php'
Code:
1 2 3
|
$rootPath = $_SERVER['DOCUMENT_ROOT'];
$rootUrl = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/'; |
$rootPath = C:/MAMP/htdocs
$rootUrl = http://localhost:81/
après on me donne le code suivant pour la page du form d'ajout de recette 'create.php' pour inclure mon header
Code:
1 2 3 4 5 6 7 8
|
<body class="d-flex flex-column min-vh-100">
<div class="container">
<?php include_once($rootPath.'/header.php'); ?>
<h1>Ajouter une recette</h1>
<form action="<?php echo($rootUrl . 'recipes/post_create.php'); ?>" method="POST">
<div class="mb-3"> |
mais mon header ne s'affiche pas il faut que j'ajoute "../ " devant header.php pour qu'il apparaissent.
mais quand il apparait si je veux retourner sur la page d'accueil en cliquant sur le lien "home" du header de la page 'create', j'ai ce message d'erreur :
The requested URL /tests/recipes/home.php was not found on this server.
et tous les liens de mon header dans la page 'create' ont ce 'recipes' en plus dans le chemin donc toujours même message d'erreur
je ne comprends pas le 'recipes' au milieu que je n'arrive pas à enlever pour retourner à http://localhost:81/tests/home.php
si vous comprenez pourquoi, merci de m'expliquer et comment je peux régler ça?
merci d'avance