OVH Community, votre nouvel espace communautaire.

Interpreter du php dans une page html


dv_
28/07/2004, 08h46
Petite mise à jour : je vais réécrire tout mon site en php, ca sera plus simple...

dv_
15/07/2004, 07h52
Ok merci, je vais essayer de regarder ça.

L.Boggio
14/07/2004, 20h34
J'ai rencontré le même besoin que toi.
J'ai trituré le .htaccess sans y arriver.
Ce que j'ai fini par faire, c'est de rewriter mes pages avec un .htaccess de manière à ce qu'elles soient appellées depuis un script PHP nommé affiche.php :

RewriteEngine on
RewriteRule ^(.*\.htm)$ /affiche.php?page=$1 [QSA]
RewriteRule ^(.*\.html)$ /affiche.php?page=$1 [QSA]

Ce affiche.php parse (parcoure) le fichier envoyé en paramètre, et y cherche un caractère, ou une chaine de caractère (appellé pattern). Il retourne le fichier htm jusqu'au pattern, exécute la ligne correpondant au pattern, c'est-à-dire la ligne de code que tu veux qu'il exécute, puis retourne la fin du fichier htm. Ca marche parfaitement bien.

Je te file une version allégée et transformée de mon code ci-dessous, à toi de le vérifier et de l'adapter. Tu peux me mailer si tu a besoin


if (isset($_GET['page']))
{
$page=urldecode($_GET['page']);
if (in_array(strtolower(substr($page,0,4)),array("htt p","ftp:")))
{
echo "Arrête ton piratage de gamin !!!";
die();
}
if (is_file($page))
{
if($resource=fopen($page,'r'))
{
$contenu=fread($resource,filesize($page));
fclose($resource);
$coupure_3=strpos($contenu,"PATTERN");
$coupure_4=strlen($contenu);
if ((!$coupure_3===false))
{
echo substr($contenu,0,$coupure_3);
// ICI LA LIGNE DE CODE QUE TU VEUX EXECUTER
echo substr($contenu,($coupure_3+(ICI LA TAILLE DE TON PATTERN)),($coupure_4-$coupure_3-(ICI LA TAILLE DE TON PATTERN)));
}
else
{
echo substr($contenu,0,$coupure_4);
}
}
else
{
echo "Désolé, je ne peux accéder à cette page °^o !!!";
die();
}
}
else
{
echo "Nous sommes désolés, mais cette page n'existe pas (plus ?) Bref, dans tous les cas, nous n'avons rien d'intéressant ici pour vous ;-). Cliquez ici pour revenir à l'accueil, ou sur 'précédent' pour revenir à la page du même nom..";
}
}
else
{
echo "Pfffff... Gros naze !";
die();
}
?>

sophie
14/07/2004, 16h11
bonjour,

Tu ne peux faire interpréter du code PHP dans une page HTML sans que cela soit renommé en .php...

Et les serveur-side include t'as essayé ? (j'y connais rien là dessus) mais bon, si ca peut te donner une piste.

A +
Sophie

dv_
14/07/2004, 14h49
Hello,

J'ai une ligne de code en php a insérer dans une page html.
Comment faire interpreter cette ligne, sans renommer la page en .php ?

J'ai essayé plusieurs choses, notamment au niveau d'un .htaccess, mais ca marche pas...

Je m'y prend mal ? Ou une astuce spéciale à faire quand on est hebergé chez Ovh ?

Quelqu'un a une idée sur le sujet ?

Merci.