Logiciel
Le
Pathelsy
Bonjour,
je m'interesse fortement au PHP depuis un ptit moment. J'utilise le plus
souvent dreamveaver 4 pour travailler car c'est un très bon logiciel
surtout pour le html.Mon site est composé d'un bon nombres de pages et
fichiers.
Je souhaiterai savoir s'il existe un logiciel qui soit en mesure de
modifier un lien récurant d'un seul clic (en fait un vrai gestionaire de
site) sur toutes les pages de mon site (lien en html ou en balises php).
Ceci m'interesse car je souhaite modifier mon système d'imbrication qui
est du style:
index.php?page=nom_de_la_page
avec le script:
<script language="php">
// si page n'est pas definie, alors la page d'accueil se lance
if(!isset($page))
{
include "accueil.htm";
}
// si la page est definie, alors, on l'inclut !
else
{
// on vérifie que la page existe
if(file_exists("$page.htm"))
{
include "$page.htm";
}
else if(file_exists("$page.html"))
{
include "$page.html";
}
else if(file_exists("$page.php"))
{
include "$page.php";
}
else if(file_exists("$page"))
{
include "$page";
}
// La page demandée est introuvable, le serveur renvoie 404
else
{
include "erreur404.htm";
}
}</script>
par celui-ci
<?
if(isset($_GET['mod']))
{
if($_GET['mod']=='news') include('news.php');
elseif($_GET['mod']=='soumettrenews') include('soumettrenews.php');
elseif($_GET['mod']=='voirnews') include('voirnews.php');
elseif($_GET['mod']=='articles') include('articles.php');
elseif($_GET['mod']=='voirarticle') include('voirarticle.php');
}
else
{
include ('accueil.php')
}
?>
Ce changement m'oblige à changer de nombreux liens et j'aimerai ne pas
en oublier un un.
Merci.
je m'interesse fortement au PHP depuis un ptit moment. J'utilise le plus
souvent dreamveaver 4 pour travailler car c'est un très bon logiciel
surtout pour le html.Mon site est composé d'un bon nombres de pages et
fichiers.
Je souhaiterai savoir s'il existe un logiciel qui soit en mesure de
modifier un lien récurant d'un seul clic (en fait un vrai gestionaire de
site) sur toutes les pages de mon site (lien en html ou en balises php).
Ceci m'interesse car je souhaite modifier mon système d'imbrication qui
est du style:
index.php?page=nom_de_la_page
avec le script:
<script language="php">
// si page n'est pas definie, alors la page d'accueil se lance
if(!isset($page))
{
include "accueil.htm";
}
// si la page est definie, alors, on l'inclut !
else
{
// on vérifie que la page existe
if(file_exists("$page.htm"))
{
include "$page.htm";
}
else if(file_exists("$page.html"))
{
include "$page.html";
}
else if(file_exists("$page.php"))
{
include "$page.php";
}
else if(file_exists("$page"))
{
include "$page";
}
// La page demandée est introuvable, le serveur renvoie 404
else
{
include "erreur404.htm";
}
}</script>
par celui-ci
<?
if(isset($_GET['mod']))
{
if($_GET['mod']=='news') include('news.php');
elseif($_GET['mod']=='soumettrenews') include('soumettrenews.php');
elseif($_GET['mod']=='voirnews') include('voirnews.php');
elseif($_GET['mod']=='articles') include('articles.php');
elseif($_GET['mod']=='voirarticle') include('voirarticle.php');
}
else
{
include ('accueil.php')
}
?>
Ce changement m'oblige à changer de nombreux liens et j'aimerai ne pas
en oublier un un.
Merci.

Poser une question


perl, python, sed ou awk font ça très bien... à condition de savoir leur
demander gentiment !-)
Ceci étant, il me semble que dreamweaver sait faire ça aussi, non ?
utilise plutôt l'instruction switch:
if(isset($_GET['mod'])) {
switch ($_GET['mod']) {
case 'news':
include('news.php');
break;
case 'soumettrenews':
include('soumettrenews.php');
break;
case (...) :
(etc)
default:
include ('accueil.php');
break;
}
}
else {
include ('accueil.php')
}
Louable intention. BTW, pense à ajouter un système qui te génère les
menus et autres éléments de navigation, ça te fera gagner du temps pour
les modifications future !-)
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"
Bonjour.
Dreamweaver est un tres bon logiciel, mais il ne sait pas faire de html.
Heureusement que tu veux changer, c'etait la pire saloperie en matière
de failles.
Tu ne pas pas seulement utiliser $_GET['page'] ? Je suis curieux mais
pourquoi te fatigues tu pour rien ?
--
Guillaume.
L'éternelle bataille entre pro-switch et pro-if/else...
Une autre technique kivabien:
<php>
$pages = array (
'home' => 'includes/home.php',
'bio' => 'includes/biography.php',
'pics' => 'includes/pictures.php',
'vidz' => 'includes/videos.php',
'zik' => 'includes/music.php',
'info' => 'includes/information.php',
'contact' => 'includes/contact.php',
'admin' => 'includes/administration.php',
'error' => 'includes/error.php',
'liens' => 'includes/liens.php'
);
if (!isset ($_GET['page']))
$page = 'includes/home.php';
else if (array_key_exists ($_GET['page'], $pages)) {
$page = $_GET['page'];
$page = $pages[$page];
}
else
header ('Location: main.php');
</php>
Remarquez comme les noms de fichiers sont différents du nom appellé par
$_GET... Car si nom appellé est juste le nom sans le .php, ce n'est pas
d'une réelle utilité. Les fichiers inclus devraient dans la plupart des
cas être dans un dossier, protégé par .htaccess deny from all, ou hors
de l'arborescence du site.
Je ne sais pas s'il existe un tel programme, cependant, pourquoi ne pas
se référer à la fonction replace des éditeurs de texte? Si le nombre de
pages est vraiment très important, une petite heure de lecture de manuel
sur les fonctions str* te permettra sans doute de modifier les liens
souhaités.
Amicalement,
S.
Je vais répondre un poil à coté de la plaque, mais sous Dreamweaver MX, avec
un ctrl+F et en choisissant "site" à la place de "document actif" dans la
boite de dialogue, ca fait le remplacement pour toi ... à la condition que
ce soit écrit de la meme façon dans toutes les pages (meme espaces, retour à
la ligne etc).
La solution de Sebastian est la meilleure selon moi, mais profites-en pour
mettre tout ce qui est code récurrent dans une fonction ou dans un fichier
que tu appelleras par un include.
Bon courage !
PS : je suis un pro switch si on fait un sondage ! lol
Moi je vote POUR ! (mais pour quoi ?)
kavamémvachmenbienmépatropkanmem
Tu m'expliques là ?
$page = $pages[$_GET['page']];
Haaa, mon coeur !
1) l'entete Location prend une url ABSOLUE. Marquer dans les RFC... Je
sais que cela marche, mais c'est pas normé et sela peux ne plus marcher
un jour.
2) Machine à laver !!: Rechercher --> "John Gallet" + "Header" + "livreur"
D'un autre coté, je ne sais pas si c'est bien... Parce que la page
toto?login qui pointe vers une faq, c'est lourd.
c'est clair que livre.php c'est plus propre que index.php?page=livre.php
et le pire c'est que cela demande MOINS de code et MOINS de maitenance
pour l'ajout d'une page.
livre.php:
<?php
require('entete');
?>Milieu<?php
require('pied');
?>
Moué, je suis d'accord, mais que cela n'empeche pas de coder proprement
dans ces fichiers...
En plus avec la méthode citée plus haut, pas de probleme de fichier
appelés par dans leur contexte. Sauf avec pied, mais c'est plus facile à
proteger que quand il faut protegé tous le reste.
Mon éditeur de texte fait du replace sur plusieurs fichiers avec
expressions régulières. Donc cela existe. Mais c'est vrai que cela ne
prive en rien de lire la doc de sed/awk/whatUwant.
Ton éditeur de texte si il gere pas "un nombre important de page" c'est
que faut le jeter...
--
Guillaume.
"The best text editor in the whole word: cat"