Написание и редактирование файла конфигурации PHP из HTML-формы?

Привет, просто ищу какое-то направление, у меня есть HTML-форма, которая имеет несколько полей и в основном то, что я хочу сделать, это сохранить данные, введенные из формы в файл конфигурации PHP, а также иметь возможность редактировать сохраненные данные, снова представив форму. Я бы предпочел сделать это без использования базы данных.

Итак, вот пример:

<form method="post" name="config_form"> <div id="field"> <label>Keywords</label> <br /> <input type="text" name="keyword"> </div> <br /> <select name="color"> <option value="green">Green</option> <option value="orange">Orange</option> <option value="blue">Blue</option> <option value="red">Red</option> </select> </form> 

Таким образом, пользователь вводит «компьютер» в качестве ключевого слова и выбирает цвет «синий». Я хочу сохранить эти данные в файле config.php как переменные, позволяющие другим страницам веб-сайта получать доступ к этим данным. Должно ли все это быть в массиве?

 <?php //config file $keyword = "computer"; $color = "blue"; ?> 

Также, когда я снова вернусь к форме, могу ли я сделать так, чтобы поля были заполнены данными из файла config.php?

Любая помощь будет очень благодарна вам!

Вы можете включить свой файл конфигурации в основной файл сценария php:

 // main.php <? php include("config.php"); ?> 

и построить форму с чем-то вроде этого:

 // main.php <?php ?> <form method="post" name="config_form"> <div id="field"> <label>Keywords</label> <br /> <input type="text" name="keyword"> </div> <br /> <select name="color"> <option value="green" <? if ($color == "green") echo "SELECTED"; ?> >Green</option> <option value="orange" <? if ($color == "orange") echo "SELECTED"; ?> >Orange</option> <option value="blue" <? if ($color == "blue") echo "SELECTED"; ?> >Blue</option> <option value="red" <? if ($color == "red") echo "SELECTED"; ?> >Red</option> </select> </form> <? ?> 

наконец, вы можете сохранить данные формы в файле config.php используя функции fopen() и fwrite() в форме submit:

 $key = $_POST["key"]; $color = $_POST["color"]; if ($key != '' && $color != '') { $f = fopen('config.php', 'w') or die("can't open file"); fwrite($f, '<?php $keyword=' . $key . ';$color=' . $color . ';?>'); fclose($f); } else { // write default values or show an error message } 

Вы можете сделать это несколькими способами. Лучший способ – использовать базу данных, такую ​​как MYSQL. Вы просите о настойчивости, и для этого нужны DB. Попробуй это.

 $key = $_POST["key"]; $color = $_POST["color"]; mysql_query("INSERT INTO smeTbl VALUES ('1',$key,$color)"); 

В файле конфигурации или в любом другом файле вы можете получить эти значения.

  $query = mysql_query("SELECT * FROM smeTbl WHERE id='1'"); $fetch = mysql_fetch_array($query); $keyword = $fetch["key"]; $color = $fetch["color"]; 

Это всего лишь пример, и вы можете уточнить его на основе ваших потребностей.

Если вы хотите хранить такие вещи в файле, то, вероятно, самым простым способом является просто сохранить все данные в массиве в виде $keyword => $value затем использовать функции serialize() и unserialize() чтобы преобразовать их в формат, который можно легко сохранить и прочитать из файла.

Имейте в виду, что если есть только один файл, то изменение, сделанное одним пользователем, затронет их всех, поэтому, если это неприемлемо, вам нужно будет найти способ определить пользователя и какой файл использовать.

Гораздо лучший способ сделать это – просто сохранить эти значения в базе данных. Создайте таблицу с options с двумя полями – option и value – в которой будут храниться параметры конфигурации. Если вы хотите, чтобы у разных пользователей были свои собственные параметры, вы можете добавить другое поле – userid (как внешний ключ к таблице users ) – для отслеживания того, к какому пользователю применяется пара опций.

Кроме того, если есть предопределенный набор параметров, которые пользователь может установить, тогда у вас могут быть поля в таблице для каждого параметра со значениями по умолчанию, и вы можете создать строку для каждого пользователя с определенными параметрами конфигурации, заданными в одной записи для этого пользователя.

когда вы отправляете форму и хотите сохранить данные предоставленной формы в одном php-файле, ni должен использовать функции действия файла fopen config.php и записать в него php-код. при отображении формы вы можете открыть файл config.php и использовать функцию «eval», чтобы получить data.forgive мой английский.

 //when submit form $string = '<?php $keyword="computer";$color="blue";?>'; $fp = fopen('config.php', 'w'); fwrite($fp, $string); fclose($fp); //when display form include("config.php"); //so you can use $keyword and $color в //when submit form $string = '<?php $keyword="computer";$color="blue";?>'; $fp = fopen('config.php', 'w'); fwrite($fp, $string); fclose($fp); //when display form include("config.php"); //so you can use $keyword and $color