[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Форма
dendav
Есть форма - 2 текстовых поля и 2 кнопки.

По нажатию первой кнопки считывается файл, определённый в первом текстовом поле, а при отсутствии такого файла создаётся новый и пустой. При этом данные помещаются во второе текстовое поле.

Во втором поле данные редактируются и по нажатии второй кнопки файл перезаписывался с новыми данными.

Появилась необходимость сделать откат назад, чтобы в случае ошибки первоначальные данные сохранялись в какой-то переменной и по нажатии кнопки "назад" можно бы было получить начальные данные.

Не могу сообразить как грамотнее всего это организовать, может кто подскажет?

//записываем в переменные данные из полей формы

$text1 = $_POST['adress']);
$text2 = $_POST['data']l;

//если кнопка 1 нажата и файл существует, то пишем в переменную
//содержимое, иначе создаём пустой файл


if(isset($_POST['button1']) && file_exists($text1))
{
$data = file_get_contents($text1);
}
else
{
file_put_contents($text1, '');
}

//если кнопка 2 нажата, то записываем данные из формы в тот же файл

if(isset($_POST['button2']))
{
file_put_contents($text1, $text2);
$data = file_get_contents($text1);
}

Как можно осуществить задуманное?


 ! 

М
Обрамляйте код специальными тегами !
Winston




Спустя 3 часа, 57 минут, 32 секунды (9.09.2011 - 18:54) walerus написал(а):
Как вариант, сделать hidden поле, и передавать туда старые данные..

Спустя 33 минуты, 20 секунд (9.09.2011 - 19:27) dendav написал(а):
Спасибо, попробую.

Спустя 20 минут, 11 секунд (9.09.2011 - 19:47) inpost написал(а):
dendav
Или сессия

Спустя 30 минут, 37 секунд (9.09.2011 - 20:18) dendav написал(а):
А что предпочтительнее - через hidden поле или с помощью сессии? Я слишком плохо представляю что такое сессия, стоит ли ради такого вопроса настолько углубляться, да еще и без серьёзной подготовки?

Спустя 2 часа, 42 минуты, 11 секунд (9.09.2011 - 23:00) Mirexzpalich написал(а):
Еще как стоит...

Спустя 20 часов, 8 минут, 41 секунда (10.09.2011 - 19:09) dendav написал(а):
Попробовал сделать через кукис, получилось, наверное, коряво, но хоть как-то работает. В чём могут быть проблемы, может подскажет кто? Можно ли поместить в куку довольно большой текстовый фрагмент? Или это вообще тупиковый путь?


//записываем в переменные данные из полей формы

$text1 = $_POST['adress']);
$text2 = $_POST['data']l;

//если кнопка 1 нажата и файл существует, то пишем в переменную
//содержимое и записываем в куку начальные данные, иначе создаём пустой файл


if(isset($_POST['button1']) && file_exists($text1))
{
$data = file_get_contents($text1);
setcookie('back', $data);
}
else
{
file_put_contents($text1, '');
}

//если кнопка 2 нажата, то записываем данные из формы в тот же файл

if(isset($_POST['button2']))
{
file_put_contents($text1, $text2);
$data = htmlspecialchars(file_get_contents($text1));
}


//Если нажата кнопка "Назад" записываем в переменную начальные данные из куки
//и перезаписываем файл с начальными данными


if(isset($_POST['button3']))
{
$data = $_COOKIE['back'];
file_put_contents($text1, $data);
}


Тут, в двух словах, такое дело - есть довольно посещаемый сайт на файлах, возникла мысль сделать админку для редактирования данных. Два поля - в первое ввожу адрес редактируемого файла, по нажатии кнопки данные считываются и помещаются в поле два, после чего редактируются и записываются в тот же файл. Это, вроде бы, работает.

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

Может на кого снизойдёт вдохновение объяснить очевидные промахи и наставить на путь истинный...

Спустя 34 минуты, 2 секунды (10.09.2011 - 19:43) YVSIK написал(а):
dendav такс-СС, наконец-то понял об чем идет речь !!
берем редактируем что надо и нечаянно нажимаем на не ту кнопку , скажем ,
а она в ответ вам; Примерный текст!!

А вы ХТО такой ? а вы уверены что надо редактировать?
и вам ето позволено?

и чуть ниже ДА)) или НЕТ)) (ещё кнопки !)
делаешь промежуточный файл с подобным содержимым, вот те и некая защита!
или вЫсё это дело на аяксе rolleyes.gif

Спустя 12 часов, 55 минут, 36 секунд (11.09.2011 - 08:38) dendav написал(а):
Да, нет, не на аяксе, куда там... Тут бы хоть как-то разобраться с несложным скриптиком.

Спустя 4 часа, 51 минута, 17 секунд (11.09.2011 - 13:30) bodja написал(а):
подлючите лучше notepad++ по фтп ,и редактируйте себе на здоровье вместе с откатами. biggrin.gif

Спустя 4 часа, 30 минут, 51 секунда (11.09.2011 - 18:00) dendav написал(а):
Спасибо за совет, я, в общем-то, так и делаю. Просто появился шанс совместить полезное с необходимым - и язык понемногу осваивать, и какую-то практическую пользу из этого извлечь.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.