Function, Require, Include [Résolu]

Messages postés
133
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2019
- - Dernière réponse : TychoBrahe
Messages postés
1310
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
- 14 mars 2010 à 12:27
Bonjour a tous (tes)

voila j'ai un peu chercher sur delphi fr et google mais je n'ai pas vu de solution à ma question
j'expose mon probleme

ma page index comporte un cadre divise en trois nonme Gauche, Milieu, Droite, puis charge entete.php, Gauche.php, Droite.php et bas.php

pour clarte voila le code :

//--------------------------------------------------------------
<?php include("Entete.php"); ?>


<?php include("Gauche.php"); ?>,
<!-- Endroit affichage des commande page entete,gauche,droite.php -->,
<?php include("Droite.php"); ?>



<?php include("Bas.php"); ?>
//--------------------------------------------------------------
voila jusqu'à la pas de probleme



Mon soucie
Sur le bandeau de l'entete.php et droite.php j'ai des images, et la je voudrais faire un include dans class="Milieu" c'est à dire la cellule du milieu de la page index.php, mais quand je met :



ca m'affiche pas Visu1.php dans "Milieu" ca ouvre la page normalement.

soit je suis aveugle : possible
soit j'ai rien compris au include : certainement
soit po possible : les boules


Beau Temps Belle Mer
Georgio
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
318
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
11 mars 2010
3
Merci
Bonjour,

Je ne suis pas certain de bien comprendre. Si je ne me trompe pas, tu voudrais que le lien ouvre visu.php dans la partie centrale uniquement en gardant les partie droite, gauche et bas ?

Si c'est bien le cas tu ne t'y prends pas bien. Ton utilisation des includes n'est pas en cause, simplement tu fais un lien vers une page appelée "visu.php", c'est donc normal que ton navigateur ouvre cette page.

Si tu souhaite rendre la partie centrale dynamique, ce que tu peux faire c'est passer un paramètre à ta page index.php. En fonction de ce paramètre, tu charge la le fichier qui convient. Par exemple :

http://www.tonsite.com/index.php?page=visu charge visu.php dans la partie centrale alors que http://www.tonsite.com/index.php?page=accueil charge accueil.php dans la partie centrale.

Attention cependant, sois prudent sur le fonctionnement que tu vas mettre en place. Par exemple ne te contente pas d'ajouter .php à la valeur du paramètre, sinon n'importe qui pourrait faire charger des fichiers à ton application sans que tu en ais vraiment envie.

Si j'ai mal compris ce que tu veux n'hésites pas à préciser.


Grrrrrrrrrrr

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de gibozsec
Messages postés
707
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
3
Merci
pour avoir Visu1.php dans ta colonne de tableau il suffit de faire comme suit:

<td class="Milieu"><?php include("Visu1.php"); ?></td> (href ne s'applique pas a un tableau

après pour l'utilisation que t'en veux je sais pas si ca te conviendra, si le but est de faire de l'inclusion dynamique: a savoir une (ou plusieurs comme ici) page de template, et le contenu qui vient se greffer dedans j'te conseil plus une approche comme tel:

Considéront une page inc-haut et une page inc-bas (qui représente ton template), inc-haut contient le début du code jusqu'a <td valign="top" class="Milieu"> et inc-bas le restant du code

ensuite pour chaque page php (index.php / articles.php / contact.php / toto.php a toi de voir ^^) tu peux faire un truc du style

<?php include("inc-haut.php"); ?
Ceci est un paragraphe présent dans ma cellule de tableau milieu prenant en charge un gabarit de site


<?php include("inc-bas.php"); ?>

ce qui te laisse la possibilité d'avoir des url du type http://monsite.com/index.php // monsite.com/contact.php etc...

J'espère avoir répondu a ta question.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de shadow1779
Messages postés
707
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
3
Merci
Niveau sécurité, ce qui peut poser problème c'est le deface du site, c'est a dire qu'une personne mal intentionnée utilise les paramètres passés en GET pour y insérer du code malicieux.

Pour éviter cela dans un include fais un truc du style

if(isset($_GET['page']) and !empty($_GET['page'])){
include("http://monsite.com/".addslashes($_GET['page']).".php");
}

l'extension sera alors obligé d'être la bonne et le fichier sera bien un fichier php de ton site. après tu peux toujours faire un test avec is_file() mais bon dans l'absolu un utilisateur n'est pas censé bidouiller l'adresse pour voir une page, il se réfère au lien de la page ^^

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de shadow1779
Messages postés
133
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2019
0
Merci
Re,

Merci a gibozsec et shadow1779, pour vos réponses rapide

Pour ce qui est de la réponse de shadow1779, oui c'est valable la solution :

//-----
<?php include("inc-haut.php"); ?
Ceci est un paragraphe présent dans ma cellule de tableau milieu prenant en charge un gabarit de site


<?php include("inc-bas.php"); ?>
//-----
Mais ca m'oblige a mettre les bandeau Gauche et Droite sur toutes les pages que je voudrais faire afficher au milieu, je dois avoir une trentaine de pages au final, et je voulais gagner de la vitesses et de la mise a jour au minimum, donc c'est la solutions que j'opterai si je ne trouve pas d'autres solutions.

Pour ce qui est de gibozsec, je dois etudier cette technique : http://www.tonsite.com/index.php?page=visu
je pense que c'est la solution qui est adapte a la forme de mon site, par contre ca va etre chaud^, ouai PHP ce n'est pas delphi 7, mais bon je vais my mettre a fond dedans.

Sinon il y a pas plus simple (quand je dit plus simple je me comprends pour un type qui a demarrer depuis 48h) style mettre un iFrame sur le tableau du milieu et via les liens juste changer le contenu de iFrame par visu.php

Bonne continuation

Beau Temps Belle Mer

* Merci d'avance pour reponse future (gibozsec et shadow1779)
Commenter la réponse de cs_eli42
Messages postés
133
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2019
0
Merci
Bonjour a tous (tes)

n'ayant pas avancé un poil sur la technique : http://www.tonsite.com/index.php?page=visu
j'ai creer toutes mes pages comme l'index c'est a dire je recharge l'entete, le bandeau gauche, le bandeau droit et le bas,
je recharge tout car apparament du peu que j'ai lu faire un include ou un once quif quif vitesse, c'est discutable je pense.

c'est con de tout recharger mais bon si je m'entete sur afficher le contenu dans mon cadre du milieu je vais pas bien avance.

une petit dernier conseil si je peux : les pages faut il ou pas vérifier la présence physiquement, question sécurité?

Beau Temps Belle Mer
Commenter la réponse de cs_eli42
Messages postés
1310
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
10
0
Merci
Salut,

@shadow1779 :
Tu te trompes lourdement, faire un include (ou fonction de la même famille) qui se base sur une donnée utilisateur est une grave faille qui peut être exploitée malgré beaucoup de tentatives de sécurisation. Par exemple pour ta maigre tentative de sécurisation, il est possible de simplement passer comme paramètre "img/toto.png?titi=". La page inclue sera donc "http://monsite.com/img/toto.png?titi=.php", autrement dit l'image toto.png. Ce serait très bête que le site permette d'uploader des images, car des images (valides) qui contiennent du code php ça prend quelques secondes a créer, et pan exécution d'un script perso sur le site. Mettant à part ce cas, il existe bien d'autres méthodes pour passer outre une protection comme la tienne, dans tous les cas les includes de ce genre sont a bannir.

Et les utilisateurs qui bidouillent l'url pour chercher des failles, ça peut être une personne qui t'en veux personnellement, un type qui veux s'ammuser et a trouvé ton site avec une recherche google sur "page=" (génial pour trouver des cibles potentielles pour la faille d'include), etc.
Commenter la réponse de TychoBrahe