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 :

[Tableaux] page php imbriquée possible?


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de scorpking
    Profil pro
    Inscrit en
    avril 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 232
    Points : 176
    Points
    176
    Par défaut [Tableaux] page php imbriquée possible?
    j'aimerai faire une page php qui en écrirai une autre

    je recupere une requete sql avec des paramètres modifiable remplacé par des nom de varialbes php dans une table et ensuite j'ecris une seconde page toujour PHP qui elle prendra en compte ces variable et les remplacera par les donnée corespondante ensuite la page affichera une page HTML
    je voudrai savoir si si j'ecris ma page php avec un echo est ce qu'elle sera interprété par IE (je me moque totalement des autre explorer car c'est en entreprise ou on a que IE) comme une page HTML l'est elle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    .........
    echo'<?php
    .........
    echo\'<HTML>
    ..........
    </HTML>\'
    ?>'
    ?>
    voila basiquement la forme que ça aurai mais je prefere demander que de perdre mon temps a creer une page qui ne servira a rien

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Bonjour

    Je ne vois pas du tout ce qui peut justifier ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    .........
    echo'<?php
    Au final tu veux produire un document html, pas un script php ?
    J'ai sans doute pas compris exactement ce que tu voulais faire

    Si tu veux faire interpréter un script php (généré automatiquement) par le serveur, il faut utiliser eval, mais c'est souvent le symptôme d'une mauvaise programmation. eval est source de failles.

  3. #3
    Membre habitué Avatar de scorpking
    Profil pro
    Inscrit en
    avril 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 232
    Points : 176
    Points
    176
    Par défaut
    bon
    en faite je recupere une requete sql ecrite comme ça

    select * from matable where num = $param1

    cette requete stoqué dans une table je l'a recupere en php pas de soucis
    puis je continu l'execution du scripte de ma page et je reprendcette requete mais j'ai $param1 qui me vien de ma page précédente donc je veut que $param 1 se modifie et que au final ma page m'affiche la requete comme elle sera executée dans la page suivante qui elle lancera ce code html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    echo '
    <html>
    	<body>';
    	echo $query ;
    	echo '<p>';
    	echo '<p> Use this querie? <form method="post" action="affichage.php4" target="blank">
    			<input type="hidden" value ="'.urlencode($query).'" name ="query">
    		<input type=submit value="ok" name="send">
    		</form>
    	</body>
    </HTML>';
    qui lui s'affichera sur la page $query ce sera la requete ou les $param sont eux remplacé par leur valeure

  4. #4
    Invité
    Invité(e)
    Par défaut
    Plusieurs choses à signaler :
    1. Ta variable $query est une chaîne de caractère et ne sera pas interprétée par PHP, càd que la valeur de $param1 passé en paramètre ne remplacera pas la (pseudo)variable de $query
      La solution est eregi('$param1', $param1, $query)
    2. Tu peux alléger le travail de ton serveur en optimisant ton code ainsi :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      <html>
      	<body>
      	<?php
      	$new_query =  eregi('$param1', $param1, $query);
      	echo $new_query;
      	?>
      	<p> Use this querie ?</p> 
      	<form method="post" action="affichage.php4" target="blank">
      	    <input type="hidden" value ="<?php echo urlencode($new_query); ?>" name ="query">
      	    <input type="submit" value="ok" name="send">
      	</form>
      	</body>
      </html>
    3. Ferme tes balises HTML même si ton navigateur l'accepte, ce ne sera peut être pas toujours le cas...

  5. #5
    Membre habitué Avatar de scorpking
    Profil pro
    Inscrit en
    avril 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 232
    Points : 176
    Points
    176
    Par défaut
    heu j'ai pas comletement compris ce que tu voulais dire
    si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'echo "'.$query.'"'
    le second code php ne sera pas interprété??? mais je pourai transformer ça en égéri directement a la sortie de ma BdD quand je récupere ?

  6. #6
    Membre habitué Avatar de scorpking
    Profil pro
    Inscrit en
    avril 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 232
    Points : 176
    Points
    176
    Par défaut
    finalement je crois que je vais faire le test moi meme sinon pour voues expliquer je vais finir par l'écrire cette page e entière alor autant tester c'est en faisant des erreur qu'on apprend

  7. #7
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par scorpking
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'echo "'.$query.'"'
    le second code php ne sera pas interprété???
    Non, comme je te l'ai dit plus haut il faudrait utiliser "eval" pour faire ça, mais comme je te l'ai dit plus haut, je te le déconseille. Le code php dans la base de données, c'est une faille monumentale pour moi.

  8. #8
    Membre habitué Avatar de scorpking
    Profil pro
    Inscrit en
    avril 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 232
    Points : 176
    Points
    176
    Par défaut
    ok j'ai compris je vais alor faire un test en retirant le $param1 et en métant un if dans un for je pourai remplaser param1 par sa valeur mais le meme problème se pose mon if il devra dectecter le numéro du param sachant que on ne sais le nombre de parametre qu'avec une donnée extraite de la table


    edit : suisje bete le if on peux utiliser une variable concaténée dans le for et ainsi on peut tester le param1 et le retirer je devrais alor utiliser un explode? puis concaténer a nouveau?

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/12/2006, 11h46
  2. Réponses: 3
    Dernier message: 27/11/2006, 14h16
  3. [Tableaux] requette php a un endroit precis d'une page
    Par zizou59 dans le forum Langage
    Réponses: 5
    Dernier message: 25/06/2006, 22h58
  4. Réponses: 15
    Dernier message: 24/05/2006, 09h56
  5. Réponses: 18
    Dernier message: 22/02/2006, 14h53

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