[RESOLU] Fonction avec switch dedans

Eléphant du PHP | 69 Messages

25 août 2018, 22:01

Bonjour,

Je souhaiterai crée une fonction avec un switch dedans qui regrouperai les titres de mes pages.

$page = La page actuel
function titre()
{
switch($page)
{
case 'accueil'; echo 'voila ma page d'accueil'; break;
case 'membre'; echo 'voila ma page membre'; break;
etc etc
}
}
Dans mon title ==> <title><?php titre() ?></title>

Hors rien ne s'écris, si quelqu'un peut m'éclairait un peu :/

Cordialement,

Mammouth du PHP | 2703 Messages

25 août 2018, 22:21

echo $page;
switch($page)

une fois que le code s’exécute, est-ce que cela affiche ce qui est attendu ?
après cela ne me semble pas une bonne idée. si par exemple, pour la page de membre, on veux insérer dans le titre le nom du membre, on est embêté.
mieux vaux un
function titre($titre){
echo "<title>$titre</title>";
}

Eléphant du PHP | 69 Messages

26 août 2018, 11:03

Non cela n'affiche rien du tout.

Pour les titres ils sont fixes.
J'ai prit pour exemple 'membre' mais en fait il y a pas de page membre sur mon site.

Avatar du membre
Eléphanteau du PHP | 18 Messages

26 août 2018, 11:25

Peut être parce que tu n'as simplement pas échappé certains caractères tel que l'apostrophe "d'accueil" dans le premier titre par exemple.
case 'accueil'; echo 'voila ma page d\'accueil'; break;
Est-ce que tu as une page blanche ? Est-ce que ta variable $page n'est pas "null" ?

Eléphant du PHP | 69 Messages

26 août 2018, 13:45

Non ce n'est pas ça non plus.

J'ai des caractères tel que "é" ou "à" mais rien d'autres.

Mammouth du PHP | 2703 Messages

26 août 2018, 13:49


Avatar du membre
Eléphanteau du PHP | 18 Messages

26 août 2018, 14:12

On peut voir le code que tu utilises ? Par ce que visiblement il nous manque des infos.

Elle est défini comment ta variable $page ? Tu as essayé une case "default" ? On peut voir ta page quelque part ?

Eléphant du PHP | 69 Messages

26 août 2018, 16:09

Alors j'ai 2 page, index.php et fonctions.php

PAGE INDEX
<?php require''.$_SERVER['DOCUMENT_ROOT'].'/fonctions.php'; ?>

<head>
<title><?php titre() ?></title>
</heade>

PAGE FONCTIONS
// Variables
$page = $_GET['page'];
$page_liste = array('accueil','lien1','lien2','lien3');
$page_site = (empty($page)) ? 'index' : ((in_array($page,$page_liste)) ? $page : 'erreur');

// Titres
function titre()
		{
			switch($page_site)
			{
				case 'index'; echo 'Ma page accueil'; break;
				case 'lien1'; echo 'Ma page 1'; break;
			}
		}

Avatar du membre
Eléphanteau du PHP | 18 Messages

26 août 2018, 16:44

Je vois.

Ta variable $page_site n'est pas assigné.

http://php.net/manual/fr/language.variables.scope.php

Eléphant du PHP | 69 Messages

26 août 2018, 17:28

Sa fonctionne merci.

Mais le titre affiche "Ma page accueil" quelques sois la page visité..
Une solution ?

Eléphant du PHP | 69 Messages

26 août 2018, 17:31

Ah non c'est bon !
Merci beaucoup pour votre aide :)