Bloquer dans une barre de navigation en php

Résolu/Fermé
Oge_1997 Messages postés 12 Date d'inscription lundi 21 janvier 2019 Statut Membre Dernière intervention 7 août 2019 - Modifié le 16 févr. 2019 à 08:09
Oge_1997 Messages postés 12 Date d'inscription lundi 21 janvier 2019 Statut Membre Dernière intervention 7 août 2019 - 17 févr. 2019 à 18:58
Bonjour quand j'ai créer cette fonction pour la barre de navigation.

Puis j'ai la définit...


Il me donne ça.

on m'a dit d'ajouter la fonction end j'ai fait ça ne donne rien... php a dit le problème vient dans la ligne 576
A voir également:

2 réponses

jordane45 Messages postés 38169 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 mai 2024 4 663
16 févr. 2019 à 08:58
Bonjour,

Déjà... lorsque tu veux nous mettre une image (du message d'erreur...).. il existe une solution plus propre (et plus lisible) qu'une photo prise avec ton smartphone...;c'est la fonction "imprime écran" de ton ordi.....

Ensuite, pour poster ton code sur le forum... merci de le faire en utilisant les balises de code
(explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code )
par ce que là .. non seulement on a pas le message d'erreur complet... mais on ne peut pas non plus copier/coller ton code et je n'ai pas envie de devoir le retaper à la main pour te répondre !

2
Oge_1997 Messages postés 12 Date d'inscription lundi 21 janvier 2019 Statut Membre Dernière intervention 7 août 2019
17 févr. 2019 à 06:08
Bjr voici mon code PHP
     <div class="navbar">
                <a class="<?= set_active('index'); ?>" href="<?= WEBSITE_NAME_URL ?>">Accueil</a> |
                <a class="<?= set_active('signup'); ?>" href="<?= WEBSITE_NAME_URL ?>/inscription">Inscription Gratuit</a> |
                <a class="<?= set_active('signin'); ?>" href="<?= WEBSITE_NAME_URL ?>/connection">Se Connecter</a> |
                <a class="<?= set_active('add_photos'); ?>" href="<?= WEBSITE_NAME_URL ?>/add_photos">Ajouter Photos</a> |
                <a class="<?= set_active('profil'); ?>" href="<?= WEBSITE_NAME_URL ?>/profil">Profil</a> |
                <a class="<?= set_active('parametre'); ?>" href="<?= WEBSITE_NAME_URL ?>/parametre">Paramètre</a>
            </div>

Puis j'ai créer la fonction set_active()
 // Gérer l'état actif de tous nos liens
if (!function_exists('set_active')) {
	function set_active($file, $class = 'active')
	{
		$page = array_pop(explode('/', $_SERVER['SCRIPT_NAME']));
		if ($page == $file.'.php') {
			return $class;
		} else {
			return "";
		}
	}
}

et ca m'a donné une erreur tel que:
    <div class="navbar">
                <a class="<br />
<b>Notice</b>:  Only variables should be passed by reference in <b>C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\djasporaLove\includes\functions.php</b> on line <b>16</b><br />
active" href="http://127.0.0.1:8080/djasporaLove">Accueil</a> |
                <a class="<br />
<b>Notice</b>:  Only variables should be passed by reference in <b>C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\djasporaLove\includes\functions.php</b> on line <b>16</b><br />
" href="http://127.0.0.1:8080/djasporaLove/inscription">Inscription Gratuit</a> |
                <a class="<br />
<b>Notice</b>:  Only variables should be passed by reference in <b>C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\djasporaLove\includes\functions.php</b> on line <b>16</b><br />
" href="http://127.0.0.1:8080/djasporaLove/connection">Se Connecter</a> |
                <a class="<br />
<b>Notice</b>:  Only variables should be passed by reference in <b>C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\djasporaLove\includes\functions.php</b> on line <b>16</b><br />
" href="http://127.0.0.1:8080/djasporaLove/add_photos">Ajouter Photos</a> |
                <a class="<br />
<b>Notice</b>:  Only variables should be passed by reference in <b>C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\djasporaLove\includes\functions.php</b> on line <b>16</b><br />
" href="http://127.0.0.1:8080/djasporaLove/profil">Profil</a> |
                <a class="<br />
<b>Notice</b>:  Only variables should be passed by reference in <b>C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\djasporaLove\includes\functions.php</b> on line <b>16</b><br />
" href="http://127.0.0.1:8080/djasporaLove/parametre">Paramètre</a>
            </div>

Aide moi à résoudre cette erreur SVP
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481 > Oge_1997 Messages postés 12 Date d'inscription lundi 21 janvier 2019 Statut Membre Dernière intervention 7 août 2019
17 févr. 2019 à 10:24
bonjour, peux-tu partager le contenu du fichier functions.php?
pourquoi utilises-tu function_exists()?
0
Oge_1997 Messages postés 12 Date d'inscription lundi 21 janvier 2019 Statut Membre Dernière intervention 7 août 2019
17 févr. 2019 à 18:58
Merci à toi aussi mon pote...
Mon problème est résolu
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
17 févr. 2019 à 16:00
Bonjour,

Le problème vient de ton usage de la fonction array_pop.
Si on regarde la doc : https://www.php.net/array-pop
On constate qu'elle attend en paramètre une référence à un tableau.
Ainsi, il n'est pas possible de composer son appel avec une fonction qui retourne un tableau, comme tu le fais.
Ce n'est pas dur à contourner, il suffit de faire ton appel en deux fois :
		$tab = explode('/', $_SERVER['SCRIPT_NAME']);
		$page = array_pop($tab);


Xavier
2
Oge_1997 Messages postés 12 Date d'inscription lundi 21 janvier 2019 Statut Membre Dernière intervention 7 août 2019
17 févr. 2019 à 18:53
Merci à toi mon pote...
Mon problème est résolu
0