Nommage centralisé de mes pages dans titre.inc.php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Nommage centralisé de mes pages dans titre.inc.php

Re: Nommage centralisé de mes pages dans titre.inc.php

par goudurisc » 04 févr. 2012, 17:34

Un sujet que je vais donc également devoir creuser. Merci pour cette piste ! Sinon, j'ai bien créé deux fichiers inc.php et ça fonctionne parfaitement, ton aide a donc été très utile :wink: :wink:

Re: Nommage centralisé de mes pages dans titre.inc.php

par xTG » 04 févr. 2012, 17:19

Un code de debug ne remplace jamais rien.
Il se rajoute pour afficher des informations ou tester des données présentes.
Quand à sa place c'est en fonction de ce qu'on utilise dedans. Là c'est $_SERVER donc peu importe l'endroit vu que c'est une variable globale.

Re: Nommage centralisé de mes pages dans titre.inc.php

par goudurisc » 04 févr. 2012, 14:59

Je te remercie encore pour ce nouveau code de débuguage mais comme toujours, je ne sais pas trop ou il se place ou ce qu'il remplace.
Bon, je ne vais pas te faire passer le week-end dessus, je crois que je vais créer une deuxième page titre-en.inc.php, ce sera plus simple.

Par contre, si tu avais la réponse pour mon autre post "Nommage centralisé de mes pages dans titre.inc.php", je pensais que ce serait plus simple et je n'ai trouvé la réponse sur aucun forum

Merci déjà pour ton aide sur ce sujet ! :wink:

Re: Nommage centralisé de mes pages dans titre.inc.php

par xTG » 04 févr. 2012, 09:27

Pour débuguer :
var_dump($_SERVER['REQUEST_URI']);
var_dump(strpos('en.php',$_SERVER['REQUEST_URI']));

Re: Nommage centralisé de mes pages dans titre.inc.php

par goudurisc » 03 févr. 2012, 23:17

Ça fonctionne toujours pour le fr mais pas pour l'anglais...

Le code global est donc en l'état :
<?php
if (isset($_GET['lang'])) { $lang=$_GET['lang']; 
}else{ 
if( strpos('en.php',$_SERVER['REQUEST_URI']) !== false ){
    $lang = 'en';
  }else{
    $lang="fr"; 
  }
}
$page_titre = array(
  'fr' => array( 'index.php' => 'Accueil','contact.php' => 'contact'),
  'en' => array( 'index.php' => 'Home','contact.php' => 'contact'),
);

$titre_page = $titre_page[$lang][basename($HTTP_SERVER_VARS["PHP_SELF"])];
$titre_site = 'Le nom de mon site - ';
?>

Re: Nommage centralisé de mes pages dans titre.inc.php

par xTG » 03 févr. 2012, 20:10

Faut l'intégrer dans le premier if :
if (isset($_GET['lang'])) { 
  $lang=$_GET['lang']; 
}else{ 
  if( strpos('en.php',$_SERVER['REQUEST_URI']) !== false ){
    $lang = 'en';
  }else{
    $lang="fr"; 
  }
}

Re: Nommage centralisé de mes pages dans titre.inc.php

par goudurisc » 03 févr. 2012, 19:41

En dernier recours, j'allais effectivement créer un deuxième fichier "titre-en.inc.php" mais si ta rustine peut me permettre de me limiter à un seul fichier, ce sera top.

Tu ne seras pas surpris si je te dis que je ne sais pas où caser ta rustine dans mon code (qui, pour le français, fonctionne nickel) :
<?php

if (isset($_GET['lang'])) { $lang=$_GET['lang']; }
else { $lang="fr"; }
$page_titre = array(
  'fr' => array( 'index.php' => 'Accueil','contact.php' => 'contact'),
  'en' => array( 'index.php' => 'Home','contact.php' => 'contact'),
);

$titre_page = $titre_page[$lang][basename($HTTP_SERVER_VARS["PHP_SELF"])];
$titre_site = 'Le nom de mon site - ';
?>

Re: Nommage centralisé de mes pages dans titre.inc.php

par xTG » 03 févr. 2012, 15:05

Ah oui je vois ce que tu tentais de faire... Renomme le fichier. xD

Non non, DW a pas perdu la tête, c'est bien toi qui tentes de faire quelque chose de totalement absurde.
Modifier le nom du fichier ne ferra pas la même chose, car le nom du fichier c'est son nom, alors que les variables ce sont les arguments passés au fichier.

Ton souci actuellement c'est que tu veux des pages statiques tout en utilisant un include dynamique...
C'est en fait totalement dénué d'intérêt. Et du coup ce qu'on t'a fait développé n'est aucunement utile.
Il aurait fallu un titre.inc.php et un titre-en.inc.php pour faire plus simplement.

On peut aussi faire une rustine... A savoir détecter dans le nom du fichier la langue vu qu'elle est présente.
if( strpos('en.php',$_SERVER['REQUEST_URI']) !== false )
  $lang = 'en';

Re: Nommage centralisé de mes pages dans titre.inc.php

par goudurisc » 03 févr. 2012, 14:39

Pour tout préciser, j'utilise Dreamweaver pour m'assister dans la rédaction du code. Oui, l'essentiel des bases du php me sont encore peu familière mais c'est pour moi, le tout début.

Voici mes tests :

- je dispose d'un fichier "ma-page-en.php". Je me connecte sans problème à cette page mais je dois ajouter manuellement dans la barre d'adresse de mon navigateur "?lang=en" pour que le nom de ma page soit ok

- par contre, si je définis en local le nom précis "ma-page-en.php?lang=en", Dreamweaver me signale que les signe \/:*<> sont interdits dans les noms de fichiers et refuse le renommage (et effectivement, ajoute en plus un .php à la fin)

- bien entendu, je pourrais outre cette interdiction en passant par un autre client php mais comme je sens bien que le procédé est un peu "bricolé", est-ce qu'il y a une autre solution pour contourner cette variable sur ce site statique ?

...et je te rassure, j'ai conscience de la lourdeur de mes questions mais dans le cas précis, en attendant d'avoir fait plus de progrès, il faudrait absolument que je trouve une solution :?

Merci pour ta zenitude !!!

Re: Nommage centralisé de mes pages dans titre.inc.php

par xTG » 03 févr. 2012, 11:16

S'il y a un dernier .php qui se rajoute c'est que soit tu l'as rajouté, soit que tu utilises un système de réécriture d'URL.
Car non, un navigateur ne rajoute pas .php à sa convenance. J'imagine même pas l'accès aux sites développés en ASP sinon... :roll:

Quand à un if pour mettre par défaut l'anglais... Semblerait que tu n'ai pas très bien compris ce que voulait dire centralisation et valeur par défaut...

Re: Nommage centralisé de mes pages dans titre.inc.php

par goudurisc » 02 févr. 2012, 23:12

J'ai ajouté la variable ?lang=en" après .php des pages en local mais le navigateur ajoute automatiquement à la fin du nom un deuxième... .php soit "ma-page.php?lang=en.php"

Je pense que la variable "?lang=en" est générée automatiquement dans le cas d'un site dynamique mais en statique, je cale.

Re: Nommage centralisé de mes pages dans titre.inc.php

par goudurisc » 02 févr. 2012, 22:17

J'imagine que je ne peux pas ajouter une deuxième condition "if" pour la version "en" ? :roll:

Et est-ce que j'ai un intérêt particulier à ajouter la variable ?lang=fr" après .php des pages françaises ? :?:

Re: Nommage centralisé de mes pages dans titre.inc.php

par xTG » 02 févr. 2012, 20:17

Si statique alors oui tu dois renommer tous les liens menant à la version anglaise en rajoutant cette variable.
Pour l'explication du cas français, regarde le premier if. ;)

Re: Nommage centralisé de mes pages dans titre.inc.php

par goudurisc » 02 févr. 2012, 19:45

Je n'avais pas cette variable mais comme je te l'avais précisé, mon site est statique. J'ai donc testé en ajoutant tout simplement "?lang=en" devant mon lien .php et ça fonctionne (premier merci ! :) ).

Ce qui m'amène à te demander :
- pourquoi ça fonctionne en français sans "?lang=fr" après .php
- même en statique, je dois donc renommer toutes mes pages sur le modèle "ma-page.php?lang=en"

Re: Nommage centralisé de mes pages dans titre.inc.php

par xTG » 02 févr. 2012, 13:12

As-tu dans l'url la variable lang ayant pour valeur "en" ? ^^
Exemple : mapage.php?lang=en