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 :

interprétation d'une chaine


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut interprétation d'une chaine
    bonjour

    je voudrais générer une ligne de code html avec une chaine php et faire passer une variable php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $champ_interv = '<tr><td align = right><b>Intervenant : </b></td><td><input type="text" name="nomInterv" readonly="readonly" value="$nom_interv" SIZE="20"></td></tr>';
    et plus loin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     <table cellspacing=5>
      <tr><td align = right><b>Accusée le : </b></td><td><? echo $date_acc; ?></td></tr>
      <tr><td align = right><b>à : </b></td><td><? echo $heure_acc; ?></td></tr>
      <tr><td align = right><b>Relancée le : </b></td><td><? echo $date_rel; ?></td>
      <td><input type="<? echo $type_btn_rel ?>" name="relance" value="Relancer"></td></tr>
      <tr><td align = right><b>à : </b></td><td><? echo $heure_rel; ?></td></tr>
      <? echo $champ_interv; ?>
      </table>
    dans le code source je récupère bien la ligne de code mais sans ma variable $nom_interv
    même problème si ma chaine prend cette valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $champ_interv = '<tr><td align = right><b>Intervenant : </b></td><td><?echo $pren_interv $nom_interv?></td></tr>';
    quelqu'un a une idée de ce pb ?

  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
    Par défaut
    Attention, les balises PHP sont <?php et ?>

    Citation Envoyé par unmulot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $champ_interv = '<tr><td align = right><b>Intervenant : </b></td><td><?echo $pren_interv $nom_interv?></td></tr>';
    Même remarque sur les balises, de plus du mets du code PHP dans une chaîne de caractères, n'espère pas que ça marche tout seul comme ça... Je pense que tu voulais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $champ_interv = '<tr><td align="right"><b>Intervenant : </b></td><td>' .  $pren_interv . $nom_interv . '</td></tr>';

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Hummm...Moi sincèrement je vois pas trop la différence entre <? et <?php j'utilise les deux pourtant

  4. #4
    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
    Par défaut
    Citation Envoyé par Kerod
    Hummm...Moi sincèrement je vois pas trop la différence entre <? et <?php j'utilise les deux pourtant
    <? c'est pas garanti que ça marche sur toutes les config, si tu migres ton code sur une machine moyennement bien administrée, t'as une ptite chance que ton code soit dispo...

    EDIT : ça correspond à short_open_tag dans le php.ini

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut
    je l'ai fait ça
    idem

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Une petite question tout ce que tu as donné est sur la même page ??

    Car si tu mets une valeur à un input et que tu fais pas de submit celle-ci passera pas.

    Sauf si tu utilises du js...mais j'ai peut etre pas compris ce que tu fais

  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
    Par défaut
    Citation Envoyé par unmulot
    je l'ai fait ça
    idem
    Tu peux montrer le code source HTML que tu récupères exactement ? Juste le morceau là où ça foire

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut
    je viens de trouver ça sur le net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $string = '<b>coucou<?= echo " comment ca va ?" ?></b>'; // la chanie à executer 
     
     
    $string = preg_replace_callback("/(<\?=)(.*?)\?>/si",create_function('$string','ob_start();eval("$string[2];");$return = ob_get_contents();ob_end_clean();return $return;'),$string); 
    $string= preg_replace_callback("/(<\?php|<\?)(.*?)\?>/si",create_function('$string','ob_start();eval("print $string[2];");$return = ob_get_contents();ob_end_clean();return $return;'),$string); 
     
     
    echo $string;
    je comprend pas grand chose mais ça marche !

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut
    non ça ne marche pas
    echo "bonjour" ça passe mais pas echo $mavariable
    "variable indéfinie"

    en faisant ça :
    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
     
    //Si l'utilisateur est un intervenant
    if ($no_serv_util == 2)
    {
      $type_btn_rel = "hidden";
      $typ_com = "I";
      $champ_interv = '<tr><td align = right><b>Intervenant : </b></td><td><input type="text" name="nomInterv" readonly="readonly" value="' .  $pren_interv . $nom_interv . '" SIZE="20"></td></tr>';
    }
    //Sinon
    else
    {
      $type_btn_rel = "submit";
      $typ_com = "A";
      $champ_interv = '<tr><td align="right"><b>Intervenant : </b></td><td>' .  $pren_interv . $nom_interv . '</td></tr>';
    }
    j'obtient ça en code source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      <tr><td align="right"><b>Intervenant : </b></td><td></td></tr>  <tr><td align = right><b>Intervient le : </b></td><td></td></tr>

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Par défaut
    Citation Envoyé par Eusebius
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $champ_interv = '<tr><td align="right"><b>Intervenant : </b></td><td>' .  $mavariabledéfinieAVANT. '</td></tr>';
    c'est bon ça ça fonctionne et sans les trucs rajoutés au pif par contre oui faut quer je remette en ordre mes daclarations de variables !

    merci à tous

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

Discussions similaires

  1. Interprèter variable pas comme une chaine de caractères
    Par Ze Big Duck dans le forum Langage
    Réponses: 4
    Dernier message: 11/11/2007, 11h20
  2. [ksh] Ne pas interpréter le contenu d'une chaine
    Par Anubis dans le forum Linux
    Réponses: 5
    Dernier message: 08/08/2007, 10h59
  3. [vb.net] interpréter une chaine comme du Code
    Par ricil78 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 24/11/2006, 20h04
  4. [PL/SQL] interprétation d'une chaine de caractère
    Par bj_jet dans le forum Oracle
    Réponses: 7
    Dernier message: 29/01/2006, 21h57
  5. Réponses: 5
    Dernier message: 22/09/2005, 10h34

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