Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2008, 00h07   #1
Invité régulier
 
Inscription : février 2007
Messages : 24
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 24
Points : 6
Points : 6
Par défaut Problème : echo " texte <php? codephp ?> texte"

Bonsoir,
J'aimerais afficher l'intégralité d'une page sous condition :
Code :
1
2
3
4
5
6
7
<?php 
if($variable=="afficher") {
echo	" ICI LE CODE DE LA PAGE A AFFICHER";
} else {
echo	"ICI LIEN VERS 404.php";
}
?>
Cependant, le code de la page a afficher contient lui aussi des balises php, et ducoup il en ressort un peu n'importe quoi d'affiché.. Pourriez vous m'aider pour resoudre ce problème ?
Sekisushaï
Sekisushai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2008, 02h28   #2
Membre éclairé
 
Avatar de nicocsgamer
 
Inscription : mars 2005
Messages : 324
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Luxembourg

Informations forums :
Inscription : mars 2005
Messages : 324
Points : 365
Points : 365
Envoyer un message via MSN à nicocsgamer
Tu veux afficher du code php dans ta page ou que le code soit exécuter ?

Tu as un serveur web + module php ?
nicocsgamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2008, 13h26   #3
Invité régulier
 
Inscription : février 2007
Messages : 24
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 24
Points : 6
Points : 6
Oui, j'ai un serveur avec module php.
Je voudrais que le code php dans la balise echo soit interprété !

echo" code html... <?php code php à interpretrer ?> code html..."
Sekisushai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2008, 13h38   #4
Membre éclairé
 
Avatar de nicocsgamer
 
Inscription : mars 2005
Messages : 324
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Luxembourg

Informations forums :
Inscription : mars 2005
Messages : 324
Points : 365
Points : 365
Envoyer un message via MSN à nicocsgamer
Il faut que tu fasse de la concatenation, et pas un echo de code php.

echo "code html... ".code php à interpretrer."code html...";
nicocsgamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2008, 16h14   #5
Invité régulier
 
Inscription : février 2007
Messages : 24
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 24
Points : 6
Points : 6
hum, ok c'est ce que je redoutais de finir par faire. N'y a-t-il pas d'autre solution ?
Sekisushai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 18h03   #6
Invité régulier
 
Inscription : février 2007
Messages : 24
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 24
Points : 6
Points : 6
En fait, je voudrais n'afficher une pageX que lorsqu'elle est en include dans une autre pageY, si je saisie l'adresse absolue de la pageX a "proteger", je ne vois pas son contenu, si maintenant, je vais sur la pageY ou elle est en include, je vois le contenu.
J'avais pensé fixer une variable $afficher=vrai dans pageY, et mettre le code de la pageX de cette manière :
Code :
1
2
3
4
5
6
7
<?php 
if($afficher =="vrai") {
echo    " Le code de la pageX";
} else {
echo    "redirection vers erreur 404.php";
}
?>
Le problème est que le code de la page X est remplie de php, et donc le résultat à cette technique et que le code n'est pas intrepréter puisque dans la balise echo.
Une idée sur comment contourner ce problème ?
Merci
Sekisushaï
Sekisushai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 09h38   #7
Membre Expert
 
Avatar de Bebel
 
Homme David B.
Développeur informatique
Inscription : avril 2003
Messages : 742
Détails du profil
Informations personnelles :
Nom : Homme David B.
Âge : 29
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : avril 2003
Messages : 742
Points : 1 085
Points : 1 085
Salut
as tu essayé avec un include ?
__________________
Tout énigme a une solution ! Tout est question de discipline !
Bebel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 23h57   #8
Invité régulier
 
Inscription : février 2007
Messages : 24
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 24
Points : 6
Points : 6
J'ai du mal à me faire comprendre apparement :s
Pour faire simple :
Considérons que j'ai une page Menu.php et Index.php
Dans la page Index.php, je fais un include 'Menu.php'
Le menu s'affiche dans Index.php tout va bien !
A présent, je voudrais afficher la page Menu.php toute seule. Je tape l'adresse dans le navigateur, et là, je me fais rediriger. C'est ce que j'aimerais réaliser. En fait le but est d'empêcher Menu.php d'être affiché hors de son contexte d'utilisation (à savoir dans la page Index.php)
Pour réaliser ceci, je fixais une variable dans Index.php
Code :
1
2
3
4
<?php 
$afficher="vrai";
include "Menu.php";
?>
Dans le code de Menu.php, je mettais le code suivant :
Code :
1
2
3
4
5
6
7
<?php 
if($afficher =="vrai") {
echo    " Ici le code de la page QUI CONTIENT DES BALISES <?php ?>";
} else {
echo    "redirection vers erreur 404.php";
}
?>
Et le problème vient du code php dans la balise echo, il est affiché en tant que code et non interprété ...
Sekisushai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 23h50   #9
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
J'ai tout à fais compris la chose, donc vous devez tout d'abord ouvrir le fichier que vous désirez protéger.
Dans votre cas menu.php, vous y ajouter ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
if(!defined('IN_INDEX'))
 
   {
 
      exit('Vous ne pouvez pas ouvrir ce fichier');
       //ou alors une redirection
      header('Location: http://www.monsite/')
      //ou une entête 
     header('forbidden', true, 403);
 
   }
Dans l'index ou tout autre fichier utilisant le menu vous ajouter:
Code :
define('IN_INDEX', TRUE);
Ceci empêchera d'ouvrir menu.php mais sera accessible dans index.php
voila
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.
AFUP 2009 : Bien optimiser son code pour le référencement
Mon projet open source de librairie PHP 5: magix cjquery
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 18h42   #10
Invité régulier
 
Inscription : février 2007
Messages : 24
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 24
Points : 6
Points : 6
Merci , cette solution marche très bien, c'est exactement ce que je voulais faire

Sekisushaï
Sekisushai est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h40.


 
 
 
 
Partenaires

Hébergement Web