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 :

Contrôle de la fenêtre parent


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 147
    Points : 62
    Points
    62
    Par défaut Contrôle de la fenêtre parent
    Salut,

    J’ai une fenêtre contenu1.php.
    Je voudrais faire un contrôle dans cette page (contenu1.php) pour quelle ne s’exécute qu’à partir d’une fenêtre parent ttcontenu.php qui se trouve dans le même dossier de la page (contenu1.php).

    En d’autres termes si c’est la page ttcontenu.php est le parent c’est bon on affiche le contenu de la page (contenu1.php) sinon (si c’est une autre fenêtre parent) on fait une redirection vers l’index du site.

    Est-ce que c’est faisable ?

    J’ai essayer de faire un test sur le titre de la fenêtre parent mais sa ne marche que si les 2 pages sont dans le même domaine ?

    Sinon est-ce que je peux n’autoriser que les fenêtres de mon site à être des fenêtres parents ?

    Merci d’avance pour vos réponses

  2. #2
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    En gros si j'ai bien compris ce que tu cherche à faire, ca donnerai ça :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    	if($_SERVER['HTTP_REFERER'] == 'http://www.tonsite.com/ttcontenu.php'){
    		//Affichage du contenu de la page contenu1.php
    	}else{
    		header("Location: index.php");
    		exit();
    	}
    ?>

    Même si tonsite.com n'est pas sur le même que la page contenu1.php ça devrait quand même marcher


    Les boutons et existent, servez-vous en

  3. #3
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    On peut aussi passer par une valeur qu'on place dans la session, et ce parce que HTTP_REFERER n'est pas une donnée dans laquelle on peut avoir confiance :
    Citation Envoyé par manuel php
    'HTTP_REFERER'
    L'adresse de la page (si elle existe) qui a conduit le client à la page courante. Cette valeur est affectée par le client, et tous les clients ne le font pas. Certains navigateurs permettent même de modifier la valeur de HTTP_REFERER, sous forme de fonctionnalité. En bref, ce n'est pas une valeur de confiance.
    Ce qui donnerait ceci sur la page mère :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    session_start();
     
    $_SESSION['verif'] = 1;
    ?>
    Et sur la page fille :

    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
    <?php
    session_start();
     
    if (($_SESSION['verif'] !== 0) or (!isset($_SESSION['verif']))) {
     
    	header("Location: http://monsite.fr/index.php");
    	exit();
     
    } elseif ($_SESSION['verif'] == 1) {
     
        $_SESSION['verif'] = 0;//pour remettre la valeur à zero pour que la personne ne puisse y retourner que à partir de la page mère
     
    ?>
     
    affichage du contenu de la page
     
    <?php
    }
    ?>
    A noter qu'il faut voir si remettre la variable $_SESSION['verif'] à 0 est utile ou pratique en fonction des besoins...

    On peut aussi combiner avec la solution de amoiraud.
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  4. #4
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Oui c'est vrai que 12Monkeys à pas tord sur la fiabilité de la variable HTTP_REFERER, d'autant qu'il existe des plugins pour modifier cette variable donc la solution des sessions est certainement plus fiable


    Les boutons et existent, servez-vous en

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 29/09/2019, 14h54
  2. Le contrôle n'a pas de fenêtre parente
    Par bossattac dans le forum Composants VCL
    Réponses: 1
    Dernier message: 06/06/2014, 17h21
  3. Valider un form et lancer le résultat ds la fenêtre parent
    Par [DreaMs] dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 23/08/2005, 17h01
  4. Réponses: 2
    Dernier message: 10/05/2005, 14h20
  5. Fenêtre parent
    Par adelavarenne dans le forum Composants VCL
    Réponses: 9
    Dernier message: 20/10/2003, 14h44

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