Configurer un fichier .php

cs_naruto uzumaki Messages postés 11 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 10 janvier 2010 - 28 nov. 2006 à 18:44
Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 - 28 nov. 2006 à 20:59
Bonjour à tout le monde !

Je voudrai juste avoir un script (enfin avoir de l'aide)

J'ai fais un script pour modifier les informations mysql de mon
"config.php" .

je rentre les information dans un formulaire et après quand je clique sur le
bouton "modifier"

j'aimerai qu'à ce moment là, le script remplace les anciennes informations pas les nouvelles .

Mes variables MySql :
$bdhost
$bdlogin
$bdpassword
$bdname

4 réponses

platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
28 nov. 2006 à 19:01
Bonsoir!

Tu peux tout simplement écraser l'ancien fichier par le nouveau, généré lorsque tu cliques sur le bouton modifier... Ca sera possible seulement si ton fichier ne contient que ces variables....

Ou alors, un peu plus tordu, tu inclues le fichier histoire de l'interpréter, tu l'ouvres avec fopen, et tu remplaces ton ancien $bdhost par le nouveau, du formulaire...
Si tu as besoin de plus d'explications, demande :)
0
cs_naruto uzumaki Messages postés 11 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 10 janvier 2010
28 nov. 2006 à 19:05
Voilà  tout mon config.php
___________________________________________
<?php

     // concernant le site :
     $site_name = "(NOM DU SITE)";
     $index_site = 'index.php'; //NE PAS MODIFIER CETTE LIGNE !
     $pannel_version = '1.0';
     // concernant le server :
     $server_ip = 'localhost';
     $server_port = 4000;
     // concernant la table mysql
     $bdhost ='';
     $bdlogin ='';
     $bdpassword ='';
     $bdname ='';
     // Mot de passe partie administration
     $admin_password = 'admin';
     
?>
___________________________________________

Dedans, on y mets les information MySql (pour les news), du server (pour le statut car je fais ce script pour aider FRoG Creator), la version, le mot de passe de l'administration
0
Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 3
28 nov. 2006 à 20:49
J'utilise un système similaire (pas de moi) pour générer mon fichier de configuration.
Ca se base sur une fonction de remplacement, un fichier "modèle" et des tableaux.

Tout d'abord, il faut faire le fichier modèle config.tpl.
Dans ton cas, voila le résultat :

<?php
     // concernant le site :
     $site_name = "__SITE_NAME__";
     $index_site = 'index.php'; //NE PAS MODIFIER CETTE LIGNE !
     $pannel_version = '__SITE_VERSION__';
     // concernant le server :
     $server_ip = '__MYSQL_HOST__';
     $server_port = __MYSQL_PORT__;
     // concernant la table mysql
     $bdhost ='__BASE_HOST__';
     $bdlogin ='__BASE_LOGIN__';
     $bdpassword ='__BASE_PASSWORD__';
     $bdname ='__BASE_NAME__';
     // Mot de passe partie administration
     $admin_password = '__ADMIN_PASSWORD__';     
?>

Ensuite, il faut creer un tableau contenant tous les "triggers" à remplacer le moment voulu :

$to_replace = array ("__SITE_NAME__","__SITE_VERSION__","__MYSQL_HOST__",...);

Maintenant, le tableau contenant les valeurs à placer effectivement dans le fichier :
$replacements = array ("MON SITE","1.0",...);
(à chaque trigger correspond une entrée dans ce tableau)

Maintenant, il y a plus que à ouvrir le fichier config.php, et y inclure le contenu de config.tpl après avoir remplacé les triggers.

$conffile = fopen ("config.php", 'w+');
fwrite ($conffile, str_replace ($to_replace, $replacements, file_get_contents ($conffile)));

J'espère que l'explication n'est pas trop obscure.
0
Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 3
28 nov. 2006 à 20:59
oups, coquille :)

L'avant dernière ligne devrait être :
fwrite ($conffile, str_replace ($to_replace, $replacements, file_get_contents ("config.tpl")));

(et ne pas oublier le traditionnel if ($conffile) {fclose ($conffile);})
0
Rejoignez-nous