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

Langage PHP Discussion :

Appel de PHP dans un fichier HTML


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 55
    Points : 41
    Points
    41
    Par défaut Appel de PHP dans un fichier HTML
    Bonjour à tous, avant d'exposer le problème rencontré je tiens à préciser que je débute en programmation Web et que j'ai déjà parcouru la toile avant de poster.

    Alors voici mon problème, j'ai un "index.html" classique:
    Code html : 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
    <!DOCTYPE html>
    <HTML>
     
    <HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
    <link rel="stylesheet" href="style.css" type="text/css" media="screen"/>		
     
    <TITLE> 
    Le Titre
    </TITLE>
     
    </HEAD>
     
    <BODY>
     
    </BODY>
     
    </HTML>

    J'aimerai pouvoir afficher l'IP du client,j'ai donc fait un fichier "IP.php" contenant le code suivant:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    function getIP() //Permet d'avoir l'IP d'un visiteur
    {
       $ip = $_SERVER['REMOTE_ADDR'];
        return $ip;
    }
    // Affichage de l'adresse IP
    echo getIP();  
    ?>

    Je sais l'afficher en ouvrant le fichier php à partir de mon fichier html via un bouton:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form name="formulaire" method="POST" action="IP.php" >
    <p align="center">
    <input type="submit" value="Afficher mon ip" />
    </p>
    </form>

    J'aimerai maintenant afficher l'IP directement dans mon index html, j'ai essayé ceci:
    Code html : 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
    28
    29
    <!DOCTYPE html>
    <HTML>
     
    <HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
    <link rel="stylesheet" href="style.css" type="text/css" media="screen"/>		
     
    <TITLE> 
    Le Titre
    </TITLE>
     
    </HEAD>
     
    <BODY>
     
    </BODY>
     
    <?php
    function getIP() //Permet d'avoir l'IP d'un visiteur
    {
       $ip = $_SERVER['REMOTE_ADDR'];
        return $ip;
    }
    // Affichage de l'adresse IP
    echo getIP();  
    ?>
     
     
    </HTML>

    sans succès, j'aimerai donc comprendre ce qui ne va pas.
    Autre méthode:est ce possible de laisser la fonction dans un fichier php a part et de récupérer la valeur ?
    Je vous remercie pour votre aide, merci et bonne soirée à tous




    PS: j'ai remarqué que lorsque je réupload régulièrement mon "index.html" après l'avoir modifié, celui-ci n'est pas toujours réactualiser lorsque je raffrachis la page du site (il me réaffiche un ancien index).Je dois donc faire ctrl+F5 pour forcer le vidage du cache ou bien je dois renommer le "index.html" en n'importe quel autre nom "azerty.html".
    J'ai crus comprendre qu'il faut pour cela préciser qu'il ne faut pas conserver la mémoire cache en utilisant la balise suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Pragma" content="no-cache">
    est-ce inutile/fonctionnel/insuffisant ?

  2. #2
    Membre éprouvé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonsoir,

    Citation Envoyé par peltiarn Voir le message
    sans succès, j'aimerai donc comprendre ce qui ne va pas.
    Les fichiers d'extension .html ne sont pas interpréter par PHP. Apache ne demande pas à PHP de les interpréter.

    Le plus simple consiste à changer l'extension en .php

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Merci pour cette explication, j'ai renommé mon "index.html" en "index.php" , en effet maintenant tout fonctionne.
    Je suis cependant étonné car il me semble avoir déjà vu des pages html interpréter du php.

    J'aimerai maintenant savoir s'il est possible d'obtenir (dans mon index.php) la valeur d'une fonction php se trouvant dans un autre fichier (ex: "fonction.php")

  4. #4
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Je suis cependant étonné car il me semble avoir déjà vu des pages html interpréter du php.
    Ceci est possible, on peut demander à apache d'interprêter n'importe quelle extension de fichier comme du php (mais c'est tordu et surtout inutile).

    Ce qui est plus probables c'est que soit mis en place une réécriture d'url : c'est bien un fichier php qui est appelé, mais l'url est réécrite et fait apparaître un point Html.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par peltiarn
    il me semble avoir déjà vu des pages html interpréter du php
    Techniquement, il est possible soit de demander à Apache de faire interpréter les fichiers .html par PHP, soit de faire de la réécriture d'URL pour qu'une URL avec un .html se transforme en .php.
    Cependant, ces solutions ne sont possibles que si tu sais configurer Apache (ou autre serveur) pour ça et à titre personnel, je trouve la technique particulièrement inutile...

    Citation Envoyé par peltiarn
    J'aimerai maintenant savoir s'il est possible d'obtenir (dans mon index.php) la valeur d'une fonction php se trouvant dans un autre fichier
    Oui. Il est même possible de lire un tutoriel pour débutant qui répondra à toutes tes questions de ce style !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup à vous tous.
    Je vais de ce pas étendre mes recherches puis revenir clore ce topic.
    Bonne journée.

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Spartacusply
    c'est bien un fichier php qui est appelé, mais l'url est réécrite et fait apparaître un point Html
    Techniquement, c'est le contraire en fait : la réécriture se fair sur les URL entrantes, pas sortantes, donc la ressource demandée est bien un .html mais Apache la réécrit en .php avant d'aller la chercher et la renvoyer.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    J'ai trouvé la solution:

    dans le fichier appelé
    dans le fichier appelant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
         include_once("PageContenantLaFonction.php");
    $variable = NomDeLaFonction() ;	 
    echo $variable; 
    ?>

  9. #9
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Ce n'est pas une solution, c'est LA solution
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par Spartacusply Voir le message
    Ce n'est pas une solution, c'est LA solution
    et bien apparemment nous pouvons également utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Require("PageContenantLaFonction.php");
    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include_once("PageContenantLaFonction.php");

  11. #11
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Ces deux fonctions font la même chose, sauf que la première n'émet qu'une erreur warning si le fichier n'est pas trouvé alors que la deuxième émet une erreur fatal (ce qui termine le script) et si le fichier est déjà inclus, il ne le sera pas une deuxième fois (la doc à ce sujet).

    Au passage, remarque extraite de la doc php concernant la casse :

    Note: Les noms de fonctions sont insensibles à la casse, et il est généralement admis que les fonctions doivent être appelées avec le nom utilisé dans leur déclaration, y compris la casse. // c-a-d "include" et "require" et non "Include" ou encore "REQUIRE"
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

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

Discussions similaires

  1. [SimpleXML] utiliser un fichier xml dans un fichier html ou php
    Par xez7082 dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 23/01/2012, 18h35
  2. appel fonction javascript dans un fichier php
    Par Sharcoux dans le forum Langage
    Réponses: 2
    Dernier message: 02/08/2011, 13h11
  3. [AJAX] Appel code asp dans un fichier html
    Par maxou2009 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/11/2008, 16h48
  4. Réponses: 2
    Dernier message: 17/04/2007, 11h54
  5. inclure un code php dans un fichier html
    Par killer_instinct dans le forum Langage
    Réponses: 5
    Dernier message: 12/03/2007, 14h13

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