18073 sujets
Vous inquietez pas, enfin si... car je vous envoie mes codes...
voila mon html:
je me servirai de l'include pour placer le menu, vous m'avez bien expliqué comment cela marchait... alors voyons si j'ai compris:
le layer 1 et le menu seront une page htm sans balises <body> <head> et sans DTD, ce sera le fichier appelé
puis ensuite je garderai dans les autres pages du site une DTD, la balise head, les meta-tags et la balise body et les layers 2,3 et le footer.... ce seront les pages appelantes...
par contre, j'ai bien suivi, le tuto de ce site sur le positionnement des blocs... mais j'arrive pas a positionner tout cela comme il le faut, a cause du menu? parce que ce que je veux, c'est que le layer 3 se positionne sous le layer 2 automatiquement, quelque soit la hauteur du texte que prend le layer 2 et par conséquent, que le footer se place également automatiquement sous le layer 3 quelque soit l'ampleur que prend celui-ci en hauteur ou largeur...
c'est pour cela que j'ai remis en position absolu mes layers... cqfd...
par contre, si je veux repeter sur chaque page mon menu, il vaut mieux qu'il soit en absolu?
a+
Modifié le 10 Feb 2005 - 18:33

voila mon html:
je me servirai de l'include pour placer le menu, vous m'avez bien expliqué comment cela marchait... alors voyons si j'ai compris:
le layer 1 et le menu seront une page htm sans balises <body> <head> et sans DTD, ce sera le fichier appelé
puis ensuite je garderai dans les autres pages du site une DTD, la balise head, les meta-tags et la balise body et les layers 2,3 et le footer.... ce seront les pages appelantes...
par contre, j'ai bien suivi, le tuto de ce site sur le positionnement des blocs... mais j'arrive pas a positionner tout cela comme il le faut, a cause du menu? parce que ce que je veux, c'est que le layer 3 se positionne sous le layer 2 automatiquement, quelque soit la hauteur du texte que prend le layer 2 et par conséquent, que le footer se place également automatiquement sous le layer 3 quelque soit l'ampleur que prend celui-ci en hauteur ou largeur...

par contre, si je veux repeter sur chaque page mon menu, il vaut mieux qu'il soit en absolu?
a+
Modifié le 10 Feb 2005 - 18:33
ok si j'ai bien compris:
écrire plutôt <?php .... que <? ... tout seul, car sinon certains serveurs perdent les pieds, car derrière <?... ça peut être <?xml ...
donc pas de problemes de securité avec include, les failles ne sont pas dues à cette fonction, mais à son mauvais emploi...
mon fichier devant être inclus est en fait un fichier menu.htm qui ne comprendra qu'une image dans un bloc et le menu déroulant du type alsacreations vertical. Donc pas de probleme de sécurité si j'écris:
<?php include ("menu.htm"); ?>
ou alors s'il est dans un répertoire menu à l'adresse http://monsite.lol:
<?php define('http://monsite.lol/menu.', './include/');
include(http://monsite.lol/menu . basename(menu.htm));
?>
c'est cela?
Modifié le 09 Feb 2005 - 18:19
écrire plutôt <?php .... que <? ... tout seul, car sinon certains serveurs perdent les pieds, car derrière <?... ça peut être <?xml ...
donc pas de problemes de securité avec include, les failles ne sont pas dues à cette fonction, mais à son mauvais emploi...
mon fichier devant être inclus est en fait un fichier menu.htm qui ne comprendra qu'une image dans un bloc et le menu déroulant du type alsacreations vertical. Donc pas de probleme de sécurité si j'écris:
<?php include ("menu.htm"); ?>
ou alors s'il est dans un répertoire menu à l'adresse http://monsite.lol:
<?php define('http://monsite.lol/menu.', './include/');
include(http://monsite.lol/menu . basename(menu.htm));
?>
c'est cela?
Modifié le 09 Feb 2005 - 18:19
Wani a écrit :
Pour des modifs sur 150 fichiers, un chercher/remplacer massif par exemple, il existe des éditeurs ou des utilitaires qui savent le faire smile . A condition d'être certain de modifier tout ce qu'on souhaite et rien que ça
Merci pour cette réponse, je m'y attendais un peu en fait.
Quel éditeur de texte prendre sous windows pour faire ces copiers-coller massifs sur plusieurs fichiers ou ces rechercher-remplacer ?
Avec Webexpert, on peut faire des copier-coller dans tous les fichiers d'un répertoire.
Salut,
et ça:
on peut écrire cela dans un fichier xhtml couplé à une css? ca fait quoi exactement? c'est équivalent à include? sans risque?
suis un peu parano moi là avec l'include, je voulais l'utiliser pour un pote, alors comme c'est pas pour moi, et que je connais rien au php, j'ai pas envie de lui filer un truc avec failles...
. Vous m'avez aidé, mais j'ai pas bien compris :
c'est surement bien, mais meme en cherchant sur le net, j'ai pas bien compris (basename ($fichier))...
faut tout m'expliquer...
Modifié le 11 Feb 2005 - 14:30
et ça:
<!--#include file="xxxx.xxx"-->
on peut écrire cela dans un fichier xhtml couplé à une css? ca fait quoi exactement? c'est équivalent à include? sans risque?
suis un peu parano moi là avec l'include, je voulais l'utiliser pour un pote, alors comme c'est pas pour moi, et que je connais rien au php, j'ai pas envie de lui filer un truc avec failles...

Inclure en toute sécurité :
<?php include(basename($fichier)); ?>
c'est surement bien, mais meme en cherchant sur le net, j'ai pas bien compris (basename ($fichier))...

faut tout m'expliquer...

Modifié le 11 Feb 2005 - 14:30
Bon, au boulot.
Ce que tente de te proposer e-t172, c'est l'utilisation d'une variable. L'idée, c'est d'appeler ta page comme suit: mapage.php?fichier=monmenu.htm.
Ensuite, dans une page PHP, tu peux accéder à une variable $fichier (il faut une certaine option de configuration. Pour être précis, on peux accéder à la variable $_GET qui est un tableau dont la clé 'fichier' vaut monmenu.htm : [b]$_GET['fichier'] = "monmenu.htm"[/i]). Par conséquent, au lieu de faire:
on peut faire ça:
Ce qui produit exactement le même résultat (si la page est correctement appelée)
Le risque étant que n'importe qui peut ainsi appeller n'importe quelle page: mapage.php?fichier=http://monsitepirate.com/unepagemalicieuse.brocoli et se faire inclure dans une page qui n'est pas la sienne. Pire encore: mapage.php?fichier=../admin/mesCodesMySQL.txt
Solution proposée par e-t172, l'utilisation de string basename( string path, string suffix);, ce qui ne permet plus que d'inclure des fichiers se trouvant dans le même répertoire (ou de créer des erreurs).
Ce que je préconise comme solution, parce qu'il n'y a aucun risque et que si tu n'as qu'un menu, pas besoin d'avoir un paramètre pour ça.
@+, HoPHP
Ce que tente de te proposer e-t172, c'est l'utilisation d'une variable. L'idée, c'est d'appeler ta page comme suit: mapage.php?fichier=monmenu.htm.
Ensuite, dans une page PHP, tu peux accéder à une variable $fichier (il faut une certaine option de configuration. Pour être précis, on peux accéder à la variable $_GET qui est un tableau dont la clé 'fichier' vaut monmenu.htm : [b]$_GET['fichier'] = "monmenu.htm"[/i]). Par conséquent, au lieu de faire:
<?php include('monmenu.htm'); ?>
on peut faire ça:
<?php include($_GET['fichier']); ?>
Ce qui produit exactement le même résultat (si la page est correctement appelée)
Le risque étant que n'importe qui peut ainsi appeller n'importe quelle page: mapage.php?fichier=http://monsitepirate.com/unepagemalicieuse.brocoli et se faire inclure dans une page qui n'est pas la sienne. Pire encore: mapage.php?fichier=../admin/mesCodesMySQL.txt
Solution proposée par e-t172, l'utilisation de string basename( string path, string suffix);, ce qui ne permet plus que d'inclure des fichiers se trouvant dans le même répertoire (ou de créer des erreurs).
Ce que je préconise comme solution, parce qu'il n'y a aucun risque et que si tu n'as qu'un menu, pas besoin d'avoir un paramètre pour ça.
<?php include('monmenu.htm'); ?>
@+, HoPHP
Oui merci pour tes explicatins HoPHP,
je vais faire comme tu dis, par contre (aië , pas sur la tête),
ca ne vaut que si tu as monmenu.php dans le même répertoire que la page appelante? si monmenu.php est a la racine du site et la page appelante dans un autre répertoire, je peux faire sans risque et sans erreur:
??
je vais faire comme tu dis, par contre (aië , pas sur la tête),
<?php include('monmenu.htm'); ?>
ca ne vaut que si tu as monmenu.php dans le même répertoire que la page appelante? si monmenu.php est a la racine du site et la page appelante dans un autre répertoire, je peux faire sans risque et sans erreur:
]<?php include('http://monsite.com/monmenu.htm'); ?>
??