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 :

lancer une page web en php !


Sujet :

Langage PHP

  1. #1
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 614
    Points : 19 846
    Points
    19 846
    Par défaut lancer une page web en php !
    Salut à tous.

    Je suis dans une page web de type php et je désire tester l'autorisation de l'afficher.
    Pour cela j'accède à ma base de données et il me retourne l'autorisation ou pas.
    Jusque là, je sais faire mais si je n'ai pas l'autorisation, je désire afficher une autre page web.

    Pour l'instant, j'utilise ceci :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ob_start();
    require $_SERVER['DOCUMENT_ROOT']."/PHP/Interdit.html";
    $page = ob_get_clean();
    echo $page;
    mais cela ne fait qu'ajouter du HTML dans <body> ... </body>, ce que je ne veux pas.
    Je veux qu'il remplace la totalité de ma page courante par ma page "Interdit.html".

    Comment faire ?

    Cordialement.
    Artemus24.
    @+

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 440
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 440
    Points : 15 814
    Points
    15 814
    Par défaut
    s'il y a des balises "body" c'est que vous les envoyez en php quelque part avant ou après le code que vous nous montrez.
    donc si vous ne les voulez pas, il suffit de ne pas les afficher. et dans votre cas, le test d'affichage va surement utiliser "l'autorisation retournée par la base de données". je mets entre guillemets parce que je ne suis pas sur de comprendre comment cela fonctionne donc si ma réponse n'est pas claire, donnez nous plus de détails sur le code qui est avant et après votre extrait ainsi que son utilisation.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 69
    Points : 89
    Points
    89
    Par défaut
    Le require n'est peut être pas l'idéal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       header("location:" . $_SERVER['DOCUMENT_ROOT']."/PHP/Interdit.html");
        die();

    Pour compléter les propos de Mathieu,
    du coup j'ajouterai qu'il est alors préférable d'utiliser la HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<META http-equiv="refresh" content="0;url=' . $_SERVER['DOCUMENT_ROOT']."/PHP/Interdit.html' ">';



    (code non parfait, c'est juste pour exemple)

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 614
    Points : 19 846
    Points
    19 846
    Par défaut
    Salut à tous.

    Mathieu, tu m'as indirectement donné la solution.

    Pour chacune de mes pages web, j'ai un en-tête presque similaire où le titre change.
    J'ai mis dans un fichier du code PHP pour résoudre ce problème et ça fonctionne.
    Ce fichier est appelé par l'include de PHP, dans toutes mes pages, juste après la balise <body>.

    Je me suis dit que j'allais ajouter un contrôle d'autorisation qui fonctionne bien.
    J'affiche dans <body>, les balises HTML pour afficher le rejet de l'accès.
    Le code PHP pour afficher le rejet, est ce que j'ai mis dans mon premier message.
    Et les balises HTML sont tous regroupées dans le fichier Interdit.html.
    Ces balises sont <header>, <main>, <p> et <footer> uniquement.

    Je rencontre alors deux problèmes.

    a) pour chacune de mes pages, j'ai une feuille de style spécifique.
    La présentation du rejet s'en trouve par conséquent modifiée.
    j'ai pensé modifier ma page web Interdit.html afin d'avoir la bonne feuille de styles.
    Autrement dit, ajouter les autres balises HTML comme <!DOCTYPE html>, <head>, <title>, <link> ...
    Quand je lance la page Interdit.html, elle s'affiche correctement.

    b) je ne suis pas arrivé à lancer cette page correctement depuis le code PHP qui se trouve dans l'include, juste après la balise <body>.
    J'ai pour cela utilisé le header du php, sans succès.

    La solution est fort simple, mais il aurai aurait fallu que j'y pense avant.

    J'ai scindé en deux parties ce que j'ai dans mon include, celui qui est mis juste après la balise <body>.
    Dans un fichier à part, j'ai mis tout ce qui concerne le test de l'autorisation d'accès.
    Appeler ce nouvel include juste après la balise <!DOCTYPE html>.
    Ne pas utiliser le header de php qui me cause des problème, mais le code PHP de mon premier message.
    J'ai modifié le fichier Interdit.html où j'ai mis toutes les balises HTML sauf <!DOCTYPE html>.

    J'ai fait le test et j'ai consulté le résultat et ma page Interdit.html s'affiche cette fois correctement.
    J'ai la bonne feuille de style puisqu'elle est celle que j'ai mis dans Interdit.html.
    Son contenu ne se retrouve pas entre les balises <body> et </body> que j'avais avant d'ouvrir ce sujet.
    Autrement dit, j'avais une encapsulation de deux pages web, celle courante et celle que je désirai afficher.

    Tout ça, pour gérer les autorisations d'accès.

    Cordialement.
    Artemus24.
    @+

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/02/2009, 08h45
  2. [Réseau] Télécharger une page web avec PHP
    Par ahmed1987 dans le forum Langage
    Réponses: 2
    Dernier message: 30/03/2008, 17h33
  3. Lancer une page web à partir d'un menu ou boutton
    Par selmaK dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 20/07/2007, 12h32
  4. Gestion d'une page web HTML/PHP
    Par amine_en_france dans le forum Langage
    Réponses: 9
    Dernier message: 06/03/2007, 12h37
  5. lancer une page web dans un processus
    Par youp_db dans le forum Windows
    Réponses: 2
    Dernier message: 31/08/2006, 18h56

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