Include en php pour site web
Résolu
Gandhi78
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
Gandhi78 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Gandhi78 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis sur le point de reprogrammer un site. Pour cela je voudrais utiliser les fonctions include en PHP. Mais cela me pose problème, j'aurai trois include le haut, le milieu et le bas. dans l'include du haut j'aurai un bandeau de petits drapeaux pour les langues. J'aimerai quand je clique sur un des drapeaux changer le langage de toute la page et aussi celui des includes voir même changer d'include car l'include du haut comporte une bannière d'image avec des écritures différente en fonction de la languge.
Est ce possible
Je vous remercie d'avance. Je vous mets le site en copie pour vous donner une idée: https://www.borispatagonia.com/frontiere-fragile-entre-argentine-chili
Je suis sur le point de reprogrammer un site. Pour cela je voudrais utiliser les fonctions include en PHP. Mais cela me pose problème, j'aurai trois include le haut, le milieu et le bas. dans l'include du haut j'aurai un bandeau de petits drapeaux pour les langues. J'aimerai quand je clique sur un des drapeaux changer le langage de toute la page et aussi celui des includes voir même changer d'include car l'include du haut comporte une bannière d'image avec des écritures différente en fonction de la languge.
Est ce possible
Je vous remercie d'avance. Je vous mets le site en copie pour vous donner une idée: https://www.borispatagonia.com/frontiere-fragile-entre-argentine-chili
A voir également:
- Include en php pour site web
- Site de telechargement - Accueil - Outils
- Création site web - Guide
- Site comme coco - Accueil - Réseaux sociaux
- Web office - Guide
- Site pour vendre des objets d'occasion - Guide
17 réponses
Salam,
Je vous propose cette astuce,
- Le fichier d'entête haut-fr.html, haut-ang.html, haut-es.html ...
- Une variable globale $langageSite (sa valeur peut être déplacé via un formualire invisible
- le clique sur le drapeau Espagnol entraine l'affectation de la valeur "es" à $langageSite, donc include "haut-".$langageSite.".html" donnera haut-es.html
Je donne cette astuce sans trop examiner les détails, et je crois que vous pouvez faire mieux
Bonne chance.
Je vous propose cette astuce,
- Le fichier d'entête haut-fr.html, haut-ang.html, haut-es.html ...
- Une variable globale $langageSite (sa valeur peut être déplacé via un formualire invisible
- le clique sur le drapeau Espagnol entraine l'affectation de la valeur "es" à $langageSite, donc include "haut-".$langageSite.".html" donnera haut-es.html
Je donne cette astuce sans trop examiner les détails, et je crois que vous pouvez faire mieux
Bonne chance.
Merci pour cette réponse, je vais étudier cette solution dans mon code.
J'ai commencer à refaire l'index mais ça me donne une erreur dans mes includes:
if ($_GET['page'] == "/fr/qui") il n'aime pas ces lignes là j'ai essayer ceci if ($_GET['page'] == "qui") mais apparemment il ne trouve pas la page qui se troue dns un dossier /fr je ne vois pas trop l'erreur je pense qu'elle doit être simple mais je ne vois pas. J'ai mis le code entier ci dessous.
.
<?php
//page html
echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Boris Patagonia</title>
<meta http-equiv="Content-Type" content="texte/html;charset=iso-8859-1" />
</head>
<body>
<div id="conteneur">
';
include "entetes/top.php";
echo'<div id="center">';
if ($_GET['page'] == "/fr/qui")
{
include("./fr/qui.php");
}
if ($_GET['page'] == '/fr/argentinechili')
{
include('./fr/argentinechili.php');
}
if ($_GET['page'] == '/fr/services')
{
include('./fr/services.php');
}
else
{
include('./fr/activites.php');
}
echo'</div>';
include "entetes/bottom.php";
echo '
</div>
</body>
</html>
';
?>
J'ai commencer à refaire l'index mais ça me donne une erreur dans mes includes:
if ($_GET['page'] == "/fr/qui") il n'aime pas ces lignes là j'ai essayer ceci if ($_GET['page'] == "qui") mais apparemment il ne trouve pas la page qui se troue dns un dossier /fr je ne vois pas trop l'erreur je pense qu'elle doit être simple mais je ne vois pas. J'ai mis le code entier ci dessous.
.
<?php
//page html
echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Boris Patagonia</title>
<meta http-equiv="Content-Type" content="texte/html;charset=iso-8859-1" />
</head>
<body>
<div id="conteneur">
';
include "entetes/top.php";
echo'<div id="center">';
if ($_GET['page'] == "/fr/qui")
{
include("./fr/qui.php");
}
if ($_GET['page'] == '/fr/argentinechili')
{
include('./fr/argentinechili.php');
}
if ($_GET['page'] == '/fr/services')
{
include('./fr/services.php');
}
else
{
include('./fr/activites.php');
}
echo'</div>';
include "entetes/bottom.php";
echo '
</div>
</body>
</html>
';
?>
Puisque le code suivant marche :
include "entetes/top.php";et celui là :
include("./fr/qui.php");ne l'ai pas, essayer d'eliminer le point et le slash de "./fr ..."
C'est vraiment les lignes : if ($_GET['page'] == "/fr/qui") ; if ($_GET['page'] == 'argentinechili') ;if ($_GET['page'] == "services")
Qui pose problème les includes en dessous il ne me met pas d'erreur, j'ai tester ces trois types de codes mais il me met toujours l'erreur:
Notice: Undefined index: page in C:\Program Files\EasyPHP 3.0\www\index.php on line 18
en faite je voudrai afficher les pages des include si il trouve le mot écrit entre " " dans URL du liens que l'utilisateur vient de cliquer
Qui pose problème les includes en dessous il ne me met pas d'erreur, j'ai tester ces trois types de codes mais il me met toujours l'erreur:
Notice: Undefined index: page in C:\Program Files\EasyPHP 3.0\www\index.php on line 18
en faite je voudrai afficher les pages des include si il trouve le mot écrit entre " " dans URL du liens que l'utilisateur vient de cliquer
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour enlever les messages d'erreurs, suivez la procédure :
http://www.npds.org/viewtopic.php?topic=8174&forum=28
Pour "/fr/qui", ça veut dire que le dossier fr se trouve à la racine : enlever le slash.
Peut être que ça peut t'aider pour déboguer (remplacer par vos valeurs) :
Source : https://www.php.net/manual/en/function.include.php
http://www.npds.org/viewtopic.php?topic=8174&forum=28
Pour "/fr/qui", ça veut dire que le dossier fr se trouve à la racine : enlever le slash.
Peut être que ça peut t'aider pour déboguer (remplacer par vos valeurs) :
<?php if(file_exsists('themes/'.$theme.'/index.php')) include('themes/'.$theme.'/index.php'); else require('themes/default_theme/index.php'); ?>
Source : https://www.php.net/manual/en/function.include.php
Salut, ton problème c'est que quand tu n'as pas $_GET['page'] dans l'url, tu demande à ton code de tester $_GET['page '] mais il n'éxiste pas ^^.
Il suffit juste de tester si ta get éxiste avant, remplace : if ($_GET['page'] == "/fr/qui")
par : if (isset($_GET['page']) == "/fr/qui")
et ce pour chaque condition ;)
Il suffit juste de tester si ta get éxiste avant, remplace : if ($_GET['page'] == "/fr/qui")
par : if (isset($_GET['page']) == "/fr/qui")
et ce pour chaque condition ;)
J'ai plus d'erreur MERCI!! , mais sa ne m'arrange pas que j'ai rien dans l'url car en faite je voudrai changer que mon conteneur et quand je clique sur un liens de mon include top et là il me change toute la page.
J'ai diviser mon site en 3: un include top, le conteneur et l''include bottom.
Dois je changer les liens de l'include top. Je suis avec easyPHP si au cas ou il y a des différences avec wamp
Quand je clique sur un liens mon url se présente comme ça http://127.0.0.1/fr/qui.php localhost dossier de la age et la page.
J'ai diviser mon site en 3: un include top, le conteneur et l''include bottom.
Dois je changer les liens de l'include top. Je suis avec easyPHP si au cas ou il y a des différences avec wamp
Quand je clique sur un liens mon url se présente comme ça http://127.0.0.1/fr/qui.php localhost dossier de la age et la page.
Pour ce qui est de ne plus rien avoir dans l'url, si tu n'as plus rien alors tu sera dans la condition else :
je n'ai pas bien compris la phrase suivante ^^ : "je voudrai changer que mon conteneur et quand je clique sur un liens de mon include top il me change toute la page."
Tu voudrais changer seulement ton contenu mais ?
else include('./fr/activites.php');
je n'ai pas bien compris la phrase suivante ^^ : "je voudrai changer que mon conteneur et quand je clique sur un liens de mon include top il me change toute la page."
Tu voudrais changer seulement ton contenu mais ?
Oui, ce que je cherche à faire est seulement de changer le milieu de mon site le contenu. Mon idée est de charger mes autres pages dans un include. Quand je clique sur un liens j'aimerai que la page qui est associer s'affiche dans un include entre mon top et mon bottom.
J'ai compris, je ne pense pas que ce soit possible en php (je me trompe peut être), si tu ne veux pas rafraichir entierement ta page lorsque celle ci change (c'est bien ce que tu souhaite ? ^^) jette un coup d'oeil à la balise html <iframe> mais je crois qu'elle n'éxiste plus en xhtml.
Je t'ai trouvé sa : https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/245253-iframe-loading
Bonne lecture ^^
Je t'ai trouvé sa : https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/245253-iframe-loading
Bonne lecture ^^
Je connais les iframes mais c'est pas terrible pour le référencement c'est pour cela je voulais passer par des include
Bha en faite si, mais c'est pas encore top j'ai mi <a href="?page=nomdelapage.php"> dans les liens.
Voici mon code de mon top:
<?php
echo'
<ul id="menu_horizontal">
<li><a href="?page=qui.php">Qui suis je ?</a></li>
<li><a href="?page=argentinechili.php">Argentine & Chili</a></li>
<li><a href="?page=services.php">Services</a></li>
<li><a href="?page=activites.php">Activités</a></li>
<li><a href="?page=extras.php">Autres destinations</a></li>
<li><a href="?page=videos.php">Vidéos</a></li>
<li><a href="?page=temoignages.php">Témoignages</a></li>
<li><a href="?page=partenaires.php">Partenaires</a></li>
<li><a href="?page=contact.php">Contact</a></li>
</ul>
';
?>
Quand je clique sur un liens il me met bien la page dans mon include du milieu tout en gardant mon top et mon bottom le seul problème c'est que quand je clique sur un lien il me met toutes les pages de mon menu à la suite entre mon top et bottom alors que je veux qu'il affiche que le lien cliquer.
J'ai plus qu'a trouver comment afficher que le lien cliquer de mon include top et non tous les liens et c'est gagné.
Voici mon code de mon top:
<?php
echo'
<ul id="menu_horizontal">
<li><a href="?page=qui.php">Qui suis je ?</a></li>
<li><a href="?page=argentinechili.php">Argentine & Chili</a></li>
<li><a href="?page=services.php">Services</a></li>
<li><a href="?page=activites.php">Activités</a></li>
<li><a href="?page=extras.php">Autres destinations</a></li>
<li><a href="?page=videos.php">Vidéos</a></li>
<li><a href="?page=temoignages.php">Témoignages</a></li>
<li><a href="?page=partenaires.php">Partenaires</a></li>
<li><a href="?page=contact.php">Contact</a></li>
</ul>
';
?>
Quand je clique sur un liens il me met bien la page dans mon include du milieu tout en gardant mon top et mon bottom le seul problème c'est que quand je clique sur un lien il me met toutes les pages de mon menu à la suite entre mon top et bottom alors que je veux qu'il affiche que le lien cliquer.
J'ai plus qu'a trouver comment afficher que le lien cliquer de mon include top et non tous les liens et c'est gagné.
Je pense que ce sont tes conditions qui ne sont pas bonnes, essai de remplacer
par
l'idée c'est de faire :
si(condition) affiche la page a ;
sinon si(condition) affiche la page b;
.
.
.
sinon affiche la page z;
if (isset($_GET['page']) == "/fr/qui") include("./fr/qui.php"); if (isset($_GET['page']) == '/fr/argentinechili') include('./fr/argentinechili.php'); if (isset($_GET['page']) == '/fr/services') include('./fr/services.php'); else include('./fr/activites.php');
par
if (isset($_GET['page']) == "/fr/qui") include("./fr/qui.php"); elseif (isset($_GET['page']) == '/fr/argentinechili') include('./fr/argentinechili.php'); elseif (isset($_GET['page']) == '/fr/services') include('./fr/services.php'); else include('./fr/activites.php');
l'idée c'est de faire :
si(condition) affiche la page a ;
sinon si(condition) affiche la page b;
.
.
.
sinon affiche la page z;
C'est ok ça marche, j'arrive bien à affiher mon include top, le contenue du liens et le bottom. Mainteant je vais voir comment je vis pouvor passer d'une page à l'autre car je reste bloquer sur la page afficher comme si il supprimai la parti de if et elseif par le nouveau contenu.