ecrire code php dans fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ecrire code php dans fichier

par Invité » 01 févr. 2008, 16:15

super, merci!

par Invité » 01 févr. 2008, 16:11

wow, c vicieux les quotes/double quotes! ok, j'essaye.

par d0m » 01 févr. 2008, 14:45

Toujours une histoire de quotes mais dans l'autre sens cette fois:
\n est un caractère qui représente le saut de ligne.

entre double quote, il est interprété comme un saut de ligne
entre simple quote il est interpreté comme la chaine \n

Si tu veux sauter une ligne dans ton fichier, c'est le saut de ligne qu'il faut lui passer donc entre doubles quotes :
$a_ecrire = 'premiere ligne'."\n".'deuxieme ligne'."\n".'derniere ligne';

par Invité » 01 févr. 2008, 14:40

ok pardon, ça marche effectivement.
Par contre, comment faire pour forcer les retours à la ligne dans mon fichier créé?
J'ai mis des \n dans la concaténation mais dans le fichier créée, j'obtiens ceci:
$fiche = new DataObject_inscription; \n$fiche->Array=$values['Array']; \n$fiche->Array=$values['Array']; \n$fiche->Array=$values['Array']; \n$fiche->Array=$values['Array']; \n$fiche->Array=$values['Array']; \n$fiche->Array=$values['Array'];

par d0m » 01 févr. 2008, 14:37

merci pour ta réponse, ça résoud le pb.
Je ne pense pas, le problème c'est que tu ne sais pas quand mettre des simples et double quote.
$validation  = "function checkForm($values) \n";
tu mets ça entre double quotes donc
- PHP regarde ce qu'il y a dans la chaine
- il trouve $values qui est une variable PHP
=> il essaie de l'interpreter
=> il la trouve pas donc il ressort une erreur

par bill moruuv » 01 févr. 2008, 14:23

Ce n'est pas le même problème?

passe en simple quote , et je pense que ca résoudra ton problème :wink:

par Invité » 01 févr. 2008, 13:56

merci pour ta réponse, ça résoud le pb. Par contre autre chose ressort.
Lorsque j'essaye d'insérer dans mon fichier le contenu de $validation en faisant:
$validation  = "function checkForm($values) \n";
Je reçois l'erreur "variable indéfinie" pour $values. Comment faire dans ce cas?
ma variable $values ne sera définie que lors de l'exécution du fichier php généré...

par d0m » 01 févr. 2008, 12:37

Ton problème c'est les quotes apparement.
Ce qui est entre simple quote '.....' n'est pas interprété par PHP
Par contre ce qui est entre double quote "....." l'est.
$toto = 'salut';

echo "$toto";
//va afficher : salut

echo '$toto';
//va afficher : $toto
en résumé, pour mettre du code PHP dans une variable il faut mettre le code entre simple quote.
$validation .= '$fiche->' . $row1['nomvar'] . '=' . '$values[\'' . $row1['nomvar'] . '\']; \n';

par Invité » 01 févr. 2008, 12:36

en gros, je crois que tout ça se résume en "comment écrire une variable dans un fichier?"

ecrire code php dans fichier

par Invité » 01 févr. 2008, 12:23

Bonjour à tous,

j'essaye de générer un fichier contenant du code php créé dynamiquement.
Dans mon fichier créé, je souhaite avoir le code suivant:
$fiche->marque= $values['marque'];
J'ai donc fait une concaténation pour mettre ça dans une var et l'insérer dans le fichier généré:
$validation .= "$fiche->" . $row1['nomvar'] . "=" . "$values['" . $row1['nomvar'] . "']; \n";
$row1['nomvar'] contient le mot "marque".
En testant, je reçois l'erreur
Parse error: syntax error, unexpected '"', expecting T_STRING in c:\program files\...
Voyez vous ce qui ne va pas?
Merci pour vos réponses.