Forum Webscript.Ru
Программирование => PHP => Тема начата: JV от 20 Января 2004, 21:57:44
-
как можно данные, полученные из формы, сохранить в некотором php\'шном файле?
то есть, файл выглядит следующим образом:
$q1=10;
$q2="string";
$q3=1;
значения 10, string и 1 я получаю из формы, и мне надо присвоить их переменным $q1, $q2 и $q3.
причем, стоит учесть, что этот файл (назовем его file.php) уже существует, и эти переменные в нем могли равняться чему-то другому, а надо положить эти значения.
-
Все данные переданные из формы хранятся в массиве $_POST
Не совсем понятно... Тебе нужно чтоб содержание файла file.php изменилось, например с:
$q1=14;
$q2="stringgg";
$q3=5;
на:
$q1=10;
$q2="string";
$q3=1;
после обработки формы?
-
да, совершенно верно.
это должен делать скрипт, обрабатывающий форму.
т.е. он должен считать данные из file.php, изменить их и сохранить.
Вот проблема и заключается в том как считать и как сохранить (потому что это параметры, и они потом используются в других файлах посредством include "file.php";)
-
JV
этого делать не надо.
Надеюсь, у тебя хватит ума не спорить, а объяснить - что ты хочешь решить таким извращенным способом, а тебе расскажут, как сделать правильно.
Код и данные должны быть разделены.
скрипты должен писать человек, а не скрипт.
Ты видел когда-нибудь скрипт гостевой книги? сообщения в гостевой - это данные. Кто-нибудь их пихает в сам скрипт?
Пиши свои переменные в файл, а file.php пусть их считывает.
Так будет правильно.
если твои переменные записать в data.txt, в виде
15
string
14
то в своем филе напиши такой код:
list($q1,$q2,q3)=array_map(\'trim\',file(\'data.txt\'));
и получишь свои переменные.
-
ок.
попытаюсь объяснить чего надо.
в общем, есть некоторый файл file.php, в нем хранятся некоторые переменные
$q1=10;
$q2="string";
$q3=1;
?>
этот файл подключается в index.php и эти переменные там используются.
Теперь у пользователя я спрашиваю новые значения данных параметров. Он записывает мне их в форму, и мне надо скорректировать file.php
я изменяю переменные
$q1=100;
$q2="location";
$q3=0;
и мне надо сохранить их обратно в file.php
в общем, подумав вчера, я вот что сделала:
$str="";
$fp=fopen("file.php","w+");
fwrite($fp,$str);
fclose($fp);
в принципе это работает, но может можно проще как-то сделать?
-
JV
Ты зря не слушаешь, что тебе говорят. RomikChef тебе уже рассказал, как правильно, и почему. Не стоит действовть принципиально неправильно только потому, что в данном случае объем данных кажется незначительным. Ключевые слова: Код и данные должны быть разделены.
-
а ты не задумывалась о последствиях того, что будет если тебе в форму введут:
1;eval($_GET[\'opa\']);
???
Пиши данные в обычный файл (лучше в базу)
считывай их скриптом и будет тебе счастье.
-
Master
спасибо, ценное замечание.
-
странно.
такое ощущение, что я говорил с пустыней...
-
RomikChef
))
я сначала попыталась все-таки добить свой способ,
но, с учетом замечания Master\'а, признала поражение ))
спасибо за вариант, предложенный тобой, это помогло
;)