我有一个名为config.php的文件,它存储连接到数据库的变量,(用户名,密码等)我希望能够从html表单编辑这些设置(我已经设置好了)
但是我无法找到如何从表单重新定义这些变量,我将表单发送到页面updateDatabaseSettings.php但不知道如何更改它们。
非常感谢您对此的帮助。
到目前为止我的代码:
的config.php
$DBUSER="root";
$DBPASS="";
$DBHOST="127.0.0.1";
$DBNAME="mydb";
updateDatabaseSettings.php
$newDBHOST = $_POST['dbhost'];
$newDBNAME = $_POST['dbname'];
$newDBUSER = $_POST['dbuser'];
$newDBPASS = $_POST['dbpass'];
假设用户输入192.168.1.2 for $ newDBHOST我想要替换$ DBHOST中的文本
由于
答案 0 :(得分:3)
您的updateDatabaseSettings.php
脚本需要覆盖config.php
文件的内容。
一种简单的方法是构造一个包含所有新内容的字符串(包括<?php ?>
标记和所有变量声明)。然后,您可以将该字符串传递给file_put_contents()
以覆盖config.php
文件。
请记住检查您的文件权限。您需要允许网络服务器写入config.php
,否则它将无效。
答案 1 :(得分:0)
你有很多选择,所以很难说,但我会创建两个DB连接实例 - 一个默认连接和第二个变量连接。默认连接可以从config.php获取配置信息,您可以始终连接到默认数据库,第二个实例将始终直接从POST获取配置信息,并在调用POST请求时创建新连接。
此外,您可以使用全局变量,只需在需要时重写它们或直接使用PHP(look fopen,fwrite,fclose,... functions)更改config.php文件。
答案 2 :(得分:-1)
我想在updateDatabaseSettings.php中包含config.php并替换值?或者甚至将这些变量设置为全局?然后我想你必须杀死并初始化一个新的数据库连接。很难回答,需要知道你的应用程序是如何架构的。