Problème Chargement de contenu html et php dans une page php ?

cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011 - 27 févr. 2009 à 20:40
cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011 - 2 mars 2009 à 13:11
Bonjour,

J'ai utiliser le code si dessous pour afficher mon contenu que j'ai creer en .html dans un dossier different mais quand j'ai un renvoi vers une page php par expl pour un formulaire. j'ai une erreur.

Comment afficher autant des pages php que html ?

Jai essayer mais rien, si quelqu'un à la reponse, merci d'avance !

if(
file_exists
("pages/$p.html") OR ("pages/$p.php") ){
include "pages/$p.html" OR "pages/$p.php";




PHP:
,

----

<?php
    $p
=
strtolower
(
$p
=
$_GET
[
'p'
]); 
    
$p
=
$_GET
[
'p'
];             
    if (isset(
$p
) && 
preg_match
(
"/^[a-z0-9]+$/i"
,
$p
)){ 
        if(
file_exists
(
"pages/$p.html"
)){ 
        include 
"pages/$p.html"

    }
    else{    
        include 
"pages/404.html"
;
        }
    }
    else{ 
//sinon inclure page erreur 404
        
include 
"pages/404.html"
;
    }
   
?>

Mon .haccess:

# On suit les liens symboliques
Options +FollowSymlinks
# Activation du mod rewrite d'Apache RewriteEngine On
RewriteEngine On
RewriteRule ^(.*)\.html$ index.php?pages=$1 [L]





Merci, Flaydeer

2 réponses

kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
28 févr. 2009 à 10:07
Salut,

Je n'ai parcouru que très brièvement, mais suffisamment pour voir un paquet d'erreurs.
Déjà ton htaccess fait un truc du genre :
http://machin.fr/page.html => http://machin.fr/index.php?pages=page
Hors dans ton script tu récupères $_GET['p'] alors qu'il faudrait récupèrer 'pages'.

if( [../c.aspx?u=aHR0cDovL3BocC5uZXQvbWFudWFsL2Z1bmN0aW9uLmZpbGUtZXhpc3RzLnBocA== file_exists ]?? la première affectation de $p ne sert là aussi à rien puisqu'elle est redéfinie ensuite. Et si $_GET['p'] n'est pas défini ?

Bref, un truc dans le genre plutôt :

if (isset($_GET['pages'])) {
   if (file_exists($_GET['pages'].php)) {
       include ($_GET['pages'].'.php');
   } elseif (file_exists($_GET['pages'].html)) {
       include ($_GET['pages'].'.html');
   } else include ('pages/404.html');

} else include ('pages/404.html');

C'est loin d'être le top mais ça devrait marcher.
Je pense qu'il est nécessaire que tu revois ton système d'include, ces pages sont hébergées sur ton serveur, tu dois donc connaitre leurs noms, non ?

Cordialement,

Kohntark -
0
cs_flaydeer Messages postés 27 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 3 septembre 2011
2 mars 2009 à 13:11
Salut,

J'ai suivi en parti le tutoriel du site http://grafikart.fr/tutoriels/video/31/decomposer-un-site-en-php our plus d'infos.

Ce que je voudrai faire est simple, lol. Un site avec une interface dynamique, c'est à dire pae expl. pour les menus, j'ai fais des include. Mais pour mon contenu j'ai suivi le tuto en question !

Je ne sais pas trop que faire car sur le web ce que j'ai trouver (ou peux etre pas chercher avec le bon nom ?) parlent de pseudos frames ou include et pour ce qui est de la sécurité, il faut suivre et chaqu'un une solution plus ou moins différente et vague ! Sutout pour un débutant.

Merci à vous tous.

Alors je suis entièrement à votre écoute pour toutes solutions !







Flaydeer
0