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 :

Créer un fichier avec fopen et contenu PHP [Fait]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 290
    Points : 209
    Points
    209
    Par défaut Créer un fichier avec fopen et contenu PHP
    Bonjour,

    J'ai un fichier qui crée et écrit , par fopen.., du contenu php dans un nouveau fichier. Mon soucis c'est que; quand j'ouvre le fichier qu'il vient de créer, ma variable n'est pas remplacée. Hors elle est bien défini dans ce premier.
    Le probleme viendrai des ' et ".

    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
    20
    21
    22
    23
    24
    25
    if (!$fichier=fopen("$nom2/index.php","w+")){echo ("Ouverture impossible");}
     
     else {
     
     $text='<?php
    include "../../include/conf.php";
    $retour = mysql_query(\'SELECT * FROM sites WHERE nom=$nom2\' ) or die(mysql_error());
    $donnees = mysql_fetch_array($retour);
    mysql_close();
    
    
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
       "http://www.w3.org/TR/html4/frameset.dtd">
    	  <html>
    	  <head>
    	  <title><?php echo $donnees[\'nom\'];?></title>
    	  <meta name="keywords" content="<?php echo $donnees[\'tag\'];?>" />
    	  </head>
    <frameset rows="*,*" frameborder="0" title="glimov">
     
    <frame src="http://www.monsite.com/<?php echo $donnees[\'theme_url\']; ?>?nom=$nom2&menu=Accueil" />
    <noframes></noframes> 
     
    </html>';
    Le code s'écrit correctement, mais c'est la variable "$nom2" qui n'est pas remplacée. Si je fais en sorte que le fichier crée contien juste $nom2, la, ca fonctionne. Je ne sais pas si je suis assez clair..

    Ca me saoul ! Si vous comprenez quelque chose aidez moi s'il vous plait. Merci d'avance ^^'

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Les variables pour être interpolées (remplacées par leur valeur) doivent être mises entre double quotes. Utilisez une concaténation ou changez de délimiteurs. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    echo '$retour = mysql_query(\'SELECT * FROM sites WHERE nom=' . $nom2 . '\' ) or die(mysql_error());';
    # Ou
    echo "\$retour = mysql_query('SELECT * FROM sites WHERE nom=$nom2' ) or die(mysql_error());";
    # Ou encore
    echo "\$retour = mysql_query('SELECT * FROM sites WHERE nom=" . $nom2 . "' ) or die(mysql_error());";
    J'imagine que le champ nom est de type (var)char donc sa valeur aura besoin de quotes et il est conseillé d'utiliser la fonction mysql_real_escape_string.

    A voir aussi : Apostrophes ou guillemets : lesquels choisir ?

  3. #3
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 290
    Points : 209
    Points
    209
    Par défaut
    Merci julp !
    J'avais déja essayé avec les ".$nom2." ou '...' . En vain.
    Chacune de tes méthode non pas fonctionné sauf quand j'ai fait comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $retour = mysql_query("SELECT * FROM sites WHERE nom=\''.$nom2.'\'")
    Ca marche correctement maintenant ! merci à toi pour ton aide et pour la doc !!

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

Discussions similaires

  1. [PHP 5.4] Écriture de fichiers avec fopen
    Par Pyanepsion dans le forum Langage
    Réponses: 1
    Dernier message: 27/06/2013, 10h45
  2. comment récuperer la date de modification d'un fichier avec FOPEN ?
    Par Frantz69 dans le forum Bibliothèque standard
    Réponses: 8
    Dernier message: 05/02/2009, 09h13
  3. Création de fichier avec fopen
    Par mcdelay dans le forum Langage
    Réponses: 2
    Dernier message: 28/03/2008, 09h08
  4. [php] Créer un fichier avec fopen
    Par fadeninev dans le forum Langage
    Réponses: 2
    Dernier message: 13/06/2006, 16h50
  5. Réponses: 7
    Dernier message: 07/01/2006, 15h18

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