8796 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

Arf... ça me gène d'être aussi piètre !

Bref, en tout cas, et pour info, mon affaire roule impec' tant que j'essaie pas d'appeler
mon code à afficher via "include" (ou autre) dans ma "define"...

Genre si je fais çà :

define('LISTE_1', '
<ul>
<li>Mister Jack</li>
<li>Mister Marc</li>
<li>Mister Guy</li>
</ul>');


pas de problème...

Par contre si je met la même chose dans un fichier "liste1-en.inc.php" et que j'essaie
de "l'appeler" genre :

define('LISTE_1', (include ("inc/FR_LISTE1.inc.php")));


pour que le tout soit enfin affiché dans ma page par html via "echo":

<?php
require("lang/decide-lang.php");
?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<meta http-equiv="Content-Language" content="fr,en" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<title>Test</title>
</head>

<body>
			<?php echo LISTE_1; ?>
</body>
</html>


Ca affiche la liste avant le DOCTYPE !!


Bref... je vous tiens au courant car je suis quasi sûr que le plus gros du pb est ma
difficulté à expliquer mon probleme !
Smiley biggol
Modifié par Samiaule (28 Oct 2009 - 18:01)
Modérateur
Hello,

Comme je l'ai dit précédemment un include dans une constante, pas bien. Smiley cligne

J'ai bien reçu tes fichiers et j'ai apporté ma touche personnelle tout en restant simple. En ce qui concerne index.php :

<?php
require_once "lang/decide-lang.php";

$en = urlencode("en");
$fr = urlencode("fr");
$queryLang = urlencode("lang");
$pageActuelle = htmlspecialchars($_SERVER["PHP_SELF"]);

$queryStringEn = $pageActuelle."?".$queryLang."=".$en;
$queryStringFr = $pageActuelle."?".$queryLang."=".$fr;
?>

<!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="<?php echo $lang;?>" lang="<?php echo $lang;?>">
	<head>
		<title><!-- insertion titre de la page --></title>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
		<meta http-equiv="Content-Language" content="fr,en" />
		<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
	</head>

	<body>
		<ul id="lang">
			<li id="eng"><a href="<?php echo $queryStringEn; ?>"><span>English</span></a></li>
			<li id="fra"><a href="<?php echo $queryStringFr; ?>"><span>Français</span></a></li>
		</ul>
		<h1><?php echo TITRE_1; ?></h1>
		<?php echo LISTE_1; ?>
		<?php echo LISTE_2; ?>
	</body>
</html>

*ton menu :
** J'ai l'impression que tu as trop id.
** L'idée du petit menu dynamique en css pas mal. Cependant, il faut le faire correctement. Les images sont générées par le CSS, n'est ce pas ? Donc dans le code HTML, nulle part il y a l'information du changement de langue. Or, ces images sont du contenu puisqu'elles donnent l'information à l'utilisateur du changement de langue. Si maintenant ces images ne se chargent pas correctement, l'utilisateur ne pourra accéder pleinement aux fonctions que tu lui offres. De plus, si une personne handicapé remplace ta css afin qu'il lise correctement la page en rapport à son infirmité (suppression des images), ta fonctionnalité tombe à l'eau encore une fois.

* En lisant ton code css en biais vitesse n fois sup au carré Smiley langue , je crois avoir remarqué des soucis de compréhension de positionnement. Je te recommande de parcourir sans modération la section Apprendre. Les astuces/tuto/... de Raphaël, Florent, ... sont très bien fait. Également, je te conseille d'approfondir grandement le HTML/CSS avant de faire des scripts php, javascript. La rigourosité d'un bon code HTML peut déjà te mettre en condition pour des langages plus dynamiques. Smiley cligne

À propos de decide-lang.php.

<?php
session_start();

$lang = (isset($_GET["lang"])) ? $_GET["lang"] :  $_COOKIE["lang"];
if (!empty($lang)) {  
   $expire = 365*24*3600;  
   setcookie("lang", $lang, time() + $expire,'/');  
   $_COOKIE["lang"] = $lang;  
}else{  
   $lang = "fr";  
} 
 
switch($lang) {  
   case "en":  
      include("lang/en-lang.php");  
      break;  
   default :  
      include("lang/fr-lang.php");  
} 
?>

* Tu remarqueras que j'ai raccourci.
* $_REQUEST est plutôt à éviter dans un soucis de sécurité.
* Je n'ai pas vérifié... Je crois que $_SERVER["HTTP_ACCEPT_LANGUAGE"] n'est pas utile dans ton cas. Du moins à l'état brute.

Pour finir, j'ai la forte impression que tu vas avoir des soucis d'organisation/gestion de données. C'est la raison pour laquelle, je t'ai conseillé d'utiliser une SGBDR ou si c'est tout petit comme structure, utiliser un fichier xml ou csv.

Bonne soirée à toi

Note à l'admin : bug d'affichage entre le bbcode <code=php></code>
Modifié par Nolem (28 Oct 2009 - 22:46)
Wouah Nolem ça c'est ce que j'appelle un coup de pouce !

Je planche sur ta solution qui me parait tout à fait nickelle et je te fais un point
dès que j'ai un moment...

Tu as même poussé ta recherche en améliorant la gestion multi-langage.

Il me reste donc à mettre en place tout çà sur un site de 12 pages qui était
déjà en place avec mon système un peu bancale... mais bon, avec de la patience
et de l'organisation çà devrait le faire.

Au passage, si je bosse comme çà, c'est parceque je ne suis pas à l'aise avec
les BDD ou aurtre XML etc... et comme je suis coincé par un délai... voilà donc.

Et pour ce qui est de mes css je t'ai envoyé un fichier qui n'est pas celui que j'utilise
au final, mais concernant ce point et un code propre et "aux normes" je crois que
je suis à peu près au point. Je t'enverrais le lien vers le site final pour que tu vois
l'affaire terminée, ça sera plus parlant !

Encore un big merci à toi.

Je t'upload une mousse !

Sam Smiley cligne
Modifié par Samiaule (29 Oct 2009 - 09:54)
Modérateur
Hello Samiaule,

Cela me fait plaisir que cela te convienne.

merci pour la mousse. Bien reçu. Santé à toi. Smiley smile

ps : Pense à rééditer ton message. Smiley smile
Modifié par Nolem (30 Oct 2009 - 12:17)
Salut,

j'ai lu en diagonale mais @Nolem pourquoi cette déclaration ?
Nolem a écrit :
Comme je l'ai dit précédemment un include dans une constante, pas bien.
Par ailleurs ton utilisation d'urlencode est totalement inutile ici.
Pages :