Comment inscrire des variables dans un fichier PHP ? (fwrite)

Comment inscrire des variables dans un fichier PHP ? (fwrite) - PHP - Programmation

Marsh Posté le 12-01-2013 à 09:37:27    

Bonjour !
Je cherche à inscrire une variable dans un fichier de configuration via fwrite, mais j'obtiens un mauvais résultat à chaque fois ...
Voici mon code :

Code :
  1. <?php
  2. $hostsql = $_POST['host'];
  3. $dbsql = $_POST['db'];
  4. $usersql = $_POST['sqluser'];
  5. $passwordsql = $_POST['sqlpassword'];
  6. $user = $_POST['user'];
  7. $password = $_POST['password'];
  8. $nom_file = "../app.config.php";
  9. // création du fichier
  10. $f = fopen($nom_file, "x+";);
  11. // écriture
  12. fputs($f, "<?phpn$host = $hostsql;n$database = $dbsql;n ";);
  13. // fermeture
  14. fclose($f);
  15. ?>


(J'ai mis que peu de variables pour tester pour fputs)
Malheureusement je n'obtiens pas le résultat que je souhaite, qui est de ce type : (j'obtiens totalement autre chose, sans le résultat des variables ou sans la bonne variable :/)

Code :
  1. <?php
  2. $host = "localhost"; // Hote du serveur MySQL - MySQL host
  3. $database = "app"; // Base de donnees - Database
  4. $user = "user"; // Utilisateur - User
  5. $password = "password"; // Mot de passe - Password
  6. ?>


Est-ce normal ? Il y a-t-il une solution ?
Merci


Message édité par chatonmeow le 12-01-2013 à 09:40:02

---------------
Windows 8: Designed to fail
Reply

Marsh Posté le 12-01-2013 à 09:37:27   

Reply

Marsh Posté le 12-01-2013 à 10:58:25    

Bonjour,
Solutions possibles:
1- un problème sur la protection des données les "\"
2- votre fichier possède les bons droits
3- écrire sur un fichier "config.txt" via htaccess => "config.php"
4- etc...
 
A voir ;)


---------------
Besoin d'aide pour votre projet? agence web
Reply

Marsh Posté le 12-01-2013 à 14:03:45    

je pense que la variable (par exemple $host) est exécutée par le serveur... et là je me demande comment faire pour qu'il n'exécute que les variables provenant du $_POST  :??:

Reply

Marsh Posté le 17-01-2013 à 22:37:34    

C'est évidemment ça car tu mets des double quotes, et qui dit double quotes dit interprétation des dollars.
 
Soit tu échappes ton premier dollar avec un slash

Code :
  1. "<?php \$host = ..."


 
soit tu mets cette partie entre simples quotes
 

Code :
  1. '<?php $host = '."..."


Message édité par CyberDenix le 17-01-2013 à 22:39:28

---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 19-01-2013 à 20:41:56    

Merci pour ton aide ;)


---------------
Windows 8: Designed to fail
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed