IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Différence .htm et .php entre serveur et easyphp [Wamp]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Différence .htm et .php entre serveur et easyphp
    Bonjour,
    j'ai crée un site qui fonctionne bien sur les serveurs,(je codais et j'envoyais via ftp pour voir le résultat, pas très pratique)
    j'ai installé easyphp sur mon pc pour le coté pratique.
    et là mon site ne fonctionne plus en local , easyphp fait une différence entre un .htm et un .php
    seul les .php marchent
    voici un essai pour faire afficher un bandeau en fonction de la langue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php session_start(); ?>
    <?php
     
    echo $langue;
     
    switch ($_SESSION['langue']){
    	case "eng":
    		echo '<img src="images/bandeau_eng.jpg">';
    		break;
    	case "esp":
    		echo '<img src="images/bandeau_esp.jpg" >';
    		break;
    	default:
    		echo '<img src="images/bandeau.jpg" >';
    	break;
    }
    ?>
    lorsque je lance ceci avec l'extension.php ca marche, il m'affiche bien la langue puis le bandeau.
    mais avec l'extension.htm
    il m'affiche 
    '; break; case "esp": echo ' puis le bandeau espagnol puis
    '; break; default: echo puis le bandeau francais puis
    '; break; } ?>
    j'ai regardé le php.ini sans résultat
    y a t'il une configuration spéciale ?

    merci d'avance pour votre aide

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    je comprends pas le problème perso

    qu'est-ce qui ne vas pas exactement ? parce qu'il est évident qu'un fichier .htm n'est pas équivalent à un fichier .php !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    désole mais je n'avais pas fini mes explications lorsque le message a été envoyé
    par erreur

    le comportement des fichiers .htm et .php sur le serveur sont identique
    et pas en local avec easyphp

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Points : 537
    Points
    537
    Par défaut
    Il existe un moyen avec le fichier .htaccess pour traiter toutes les pages ayant l'extension .htm par une extension .php en employant la commande ForceType.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <filesmatch "^htm$">
    ForceType application/x-httpd-php
    </filesmatch>

  5. #5
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Tu veux dire que le serveur interprète les fichiers .htm comme des fichiers .php ?

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    je ne sais pas comment le serveur l'interprete
    mais j'ai essayé le même fichier cite ci-dessus avec les extension .htm et .php
    et le résultat est bon alors qu'en local cela ne fonctionne pas.
    voici l'hebergeur: nexenservices avec php4 si cela vous dit quelque chose

    pour le .htaccess, je mets directement le code dedans en local ?
    cordialement

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    je viens d'essayer le .htaccess cela ne fait rien.
    j'ai plus l'impression que c'est easyphp qui a ne sais pas interpreter le code php a partir d'un fichier avec l'extension.htm
    car le même fichier (copier/coller et changement de l'extension)

    merci pour vos reponses

  8. #8
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Citation Envoyé par filopat31 Voir le message
    je viens d'essayer le .htaccess cela ne fait rien.
    j'ai plus l'impression que c'est easyphp qui a ne sais pas interpreter le code php a partir d'un fichier avec l'extension.htm
    car le même fichier (copier/coller et changement de l'extension)

    merci pour vos reponses
    oui, c'est pas banal comme configuration de demander de lire du .htm comme du .php

    tu peux le changer en local dans le httpd.conf du serveur Apache, cherche la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddType application/x-httpd-php .php3
    et ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddType application/x-httpd-php .htm
    redémarre ensuite Apache, et ça devrait être bon


    EDIT :
    j'ai testé chez moi (sur Wamp) et ça marche, c'est donc bien la bonne manip... mais bon, perso j'te conseille d'avoir une extension .php pour des fichiers PHP, au moins tu pourras profiter de la colorisation syntaxique dans des programmes comme Dreamweaver ;-)

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    re-bonjour,
    je viens de rajouter les lignes dans le httpd.conf
    et cela fonctionne ;o)
    mais je ne suis pas rassuré pour autant, je m'explique:

    dans un fichier htm classique comme celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php session_start(); ?>
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <?php
     
    echo $langue;
    $toto=$_SESSION['langue'];
    switch ($_SESSION['langue']){
    		case "eng":
    				echo '<img src="images/bandeau_eng.jpg" width="765" height="85">';
    				break;
    			case "esp":
    				echo '<img src="images/bandeau_esp.jpg" width="765" height="85" >';
    				break;
    			default:
    				echo '<img src="images/bandeau.jpg"width="765" height="85" >';
    		break;
    }
    ?>
    ceci est un essai<img src="images/bt_favoris.gif" width="15" height="13"> 
    <p><br>
    </p><p>&nbsp;</p></body>
    </html>
    j'ai bien le droit de mettre du code php comme je l'ai mis dans l'exemple?
    rassurez-moi, car tout le site est codé comme cela...

    merci encore

  10. #10
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Si ça marche pour un fichier... ca marchera pour tous...
    Ce genre de modification dans le serveur Apache ne fait justement aucune différence, il regarde juste si le fichier est en .htm (attention, ça ne marchera pas si le fichier est en .html) et il utilisera l'interpréteur PHP


    Mais je te conseil vraiment de ne plus faire comme ça... tu risques d'avoir des problèmes suivant les hébergeurs... surtout si tu ne peux pas changer la configuration Apache ^^

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    mais comment faire autrement?
    faire un include d'un fichier .php ? mais si l'include n'est pas non plus interpreté ?
    étant dans une page htm.
    le tout étant de savoir dans ce cas comment mettre du code php dans un fichier htm...


    cordialement

  12. #12
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    justement, de base les fichiers .htm sont fait pour afficher... de l'HTML


    et les fichiers .php.... du PHP !

    Il n'est pas bon de faire du php dans un fichier HTML, même si en bidouillant le serveur ça peut passer...


    EDIT : faire un include n'est pas la solution, car comme tu l'as dit include() est du PHP... un moyen possible est peut-être une <iframe> mais son utilisation est à proscrire autant que possible donc vala...

    la meilleure chose à faire est d'écrire du PHP dans des pages qui portent l'extension .php ;-)

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    htm -> pas de php
    html -> php autorisé ?
    car sur le net l'on voit beaucoup d'exemple avec du code html et php
    imbriqué ,et même dans le bouquin "php pour les nuls" donc je pensais que c'était autorisé..
    voici les sites en question pour une critique:
    http://www.iales.org
    http://www.jacques-migneaux.com

    et merci encore de votre contribution

  14. #14
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    PAR DEFAUT :

    .htm => pas de PHP
    .html => pas de PHP
    .php => PHP OK


    pour ce qui est des sites qui utilisent du PHP et qui portent l'extension .htm ou .html c'est en fait le contraire qui est fait

    Ceci s'appelle l'URL REWRITING, grâce à un fichier .htaccess et quelques lignes spéciales écritent dedans il dit au serveur de faire comme si les fichiers s'appellaient autrement.

    voici un petit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.*).html$ index.php?page=$1 [L]
    cette ligne dit au serveur de renommer les liens comme ceci :

    index.php?page=maPage

    en

    maPage.html


    comme tu peux le voir, les pages sont bel et bien en .php (index.php) et ce n'est que le lien qui change... donc l'URL Rewriting ne changera en rien ton problème.

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    ok, merci pour l'explication,
    je n'ai plus qu'a ré-encoder complètement mes pages ...

  16. #16
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Points : 537
    Points
    537
    Par défaut
    En cpmplément de darkstar123456 : .php = html + php

    Un fichier php peut très bien ne contenir que du code html ou pas du tout.
    Le simple d'être un fichier php permet d'inclure des instructions php au moyen des balises <?php et ?> ces instructions seront donc interprétées par le moteur php du serveur et les morceaux de code situés entre les balises <?php et ?> remplacés par les outputs du code interprété.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Web Service] Communication entre PHP et serveurs de jeux
    Par DieseL. dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 21/11/2014, 14h00
  2. [HTML 4.0] Quelle page d'index arrive en tête entre htm, html, php...
    Par remybelleau dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 13/12/2009, 16h43
  3. Différence entre serveur synchrone et serveur asynchrone
    Par luckyluc. dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 17/04/2009, 15h24
  4. [Web Service] Web service entre serveur php et client java.
    Par Spont dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 12/02/2009, 11h01
  5. Réponses: 0
    Dernier message: 31/07/2007, 12h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo