Bloquer dans une barre de navigation en php

Résolu
Oge_1997 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
Oge_1997 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Oge_1997 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
Merci à toi aussi mon pote...
Mon problème est résolu
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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   Statut Membre Dernière intervention  
 
Merci à toi mon pote...
Mon problème est résolu
0