Как сохранить пораметры в массивы с помощью $_GET или $_POST

-=FiL=-

Новичок
Как сохранить пораметры в массивы с помощью $_GET или $_POST

Здорова всем. Помогите мне надо создать файл install.php для скрипта, так вот пол этого скрипта я сделал и мне осталось сохранение параметров, ну типа Имя сайта.
Но основное что мне надо это что бы в файл который я отправляю инфу с помощью $_POST'a было примерно так:
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "123";
$dbname = "mysql";
вот как можно что бы так получилось, подскажите пожалуйста.
 

-=FiL=-

Новичок
Мне надо что бы всё эта инфа отправлялась в файл конфигурации. Из формы в файл конф. Мне надо создать скрипт с простой (легкой) установкой. Вот в чём дело. Подскажите как?
 

-=FiL=-

Новичок
Так вот поскажите мне пожалуйста как можно с помощью html формы изменить значение в PHP массиве??? С помощью $_POST ну или как нибудь по другому.
 

-=FiL=-

Новичок
Нет мне надо что бы после отправки в обработчик там было уже значение типа $name = "Сергей"; А не $name = $_POST['name']; можно ли так??? И подскажете как это сделать?
 

Фанат

oncle terrible
Команда форума
слово "Сергей" содержится в переменной $_POST['name'];
какая проблема добавить его к нужной тебе строке?

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

-=FiL=-

Новичок
Ну руками я ужею это делать.
Так всё таки можно ли сделать такое или нет? Ну или есть в нети такой скрипт? И как он называется?

-~{}~ 17.02.09 02:16:

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

Фанат

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

Фанат

oncle terrible
Команда форума
ты сам не знаешь, чего хочешь.
взять строку и записать в файл - это элементарная операция.
а у тебя массивы какие-то, которые меняются с помощью html
 

-=FiL=-

Новичок
Вот что у меня получилось:
<html>
<body>
<?php
$filename = 'config.php';
$dbhost = $_POST['dbhost'];
$dbname =$_POST['dbname'];
$dbuser =$_POST['dbuser'];
$dbpass =$_POST['dbpass'];

if (is_writable($filename)) {

if (!$handle = fopen($filename, 'a')) {
echo "Не могу открыть файл ($filename)";
exit;
}

if (fwrite($handle, $dbhost) === FALSE) {
echo "Не могу произвести запись в файл ($filename)";
exit;
}
if (fwrite($handle, $dbname) === FALSE) {
echo "Не могу произвести запись в файл ($filename)";
exit;
}
if (fwrite($handle, $dbuser) === FALSE) {
echo "Не могу произвести запись в файл ($filename)";
exit;
}
if (fwrite($handle, $dbpass) === FALSE) {
echo "Не могу произвести запись в файл ($filename)";
exit;
}

fclose($handle);
} else {
echo "Файл $filename недоступен для записи";
}
?>
<form method="POST" action="<?=$_SERVER['PHP_SELF']?>">
Сервер MySQL: <br><input type="text" name="dbhost"><br>
Имя базы данных: <br><input type="text" name="dbname"><br>
Имя пользователя: <br><input type="text" name="dbuser"><br>
Пароль: <br><input type="text" name="dbpass"><br><br>
<input type="submit" name="okbutton" value="OK">
</form>
</body>
</html>
А как сделать что бы запись в config.php была вида: $dbhost = "localhost";??
Или это надо настраивать в самом config.php??

-~{}~ 17.02.09 16:40:

А то у меня получается что запмсь в файл идёт в одну строку.
 

dimagolov

Новичок
-=FiL=-, ответ на вопрос "А как сделать что бы запись в config.php была вида: $dbhost = "localhost";??" банален до невероятности. надо, видимо, именно это в файл записать.
 

x-yuri

Новичок
-=FiL=- еще бы я тебе посоветовал сначала сформировать все содержимое в переменной, а потом его записывать в файл (чтобы только один раз проверить успешность записи в файл)
для более сложных переменных тебе может пригодиться var_export
 

-=FiL=-

Новичок
Вот короче что у меня получилось:
<?
if ($_GET[event]=="skin")
{
print "<center></font>
</td></tr><tr><td colspan=2 width=100%>
<center>
<form action=index.php?event=config method=post name=REPLIER>
<table>
<tr><td>Имя MySQL сервера:</td><td><input type=text value='$dbhost' name=dbhost size=50></tr></td>
<tr><td>Имя базы данных:</td><td><input type=text value='$dbname' name=dbname size=15></tr></td>
<tr><td>Имя пользоватиеля</td><td><input type=text value='$dbuser' name=dbuser size=35></tr></td>
<tr><td>Пароль для БД</td><td><input type=password value='$dbpass' name=dbpass size=10></tr></td>
</tr></td>
<tr><td colspan=2><BR><center><input type=submit value='Сохранить конфигурацию'></form></td></tr></table>";
}

if ($_GET[event]=="config")
{
$configdata="<?\r\n".
"$"."dbhost=\"$_POST[dbhost]\";\r\n".
"$"."dbname=\"$_POST[dbname]\";\r\n".
"$"."dbuser=\"$_POST[dbuser]\";\r\n".
"$"."dbpass=\"$_POST[dbpass]\";\r\n?>".

$file=file("config.php");
$fp=fopen("config.php","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
fputs($fp,$configdata);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
print "<script language='Javascript'><!--
function reload() {location = \"index.php?event=skin\"}; setTimeout('reload()', 0);
//--></script>";
}
?>

А в файле config.php вот так:

<?
$dbhost="localhost";
$dbname="mysql";
$dbuser="root";
$dbpass="123456";
?>

И все пока работает нормально.
 
Сверху