Дальнейшая доработка
Приведенная форма для редактирования не удобна и не функциональна.
Сделаем так, чтобы редактируемые значения уже были в форме, когда пользователь ее увидит.
ЭТО БУДЕТ РАБОЧИЙ ВЫАРИАНТ РЕДАКТИРОВАНИЯ
Для этого придется делать разбор строк текстового файла, т.е. нужно, чтобы были какие-то разделители в сохраняемых строках текстового файла.
Поэтому изменим в файле для сохранения заказов procesord_acs.php строку, формируемую для сохранения в файл:
$vivod=$date."\t"."|"." Заказано Антирадаров: ".$radar."\t"."|"." Заказано Видеорегистраторов: ".$registrator."\t"."|"."Сумма заказа (руб): ".$totalamount." \t"."|"." Адрес доставки: ".$adress."\n";
Необходимо удалить прежний файл order.txt и сделать несколько новых заказов.
Теперь в форме для редактирования можно использовать введенные разделители для разборки текста, используя функции explode() и split() - разделить на подстроки (для выбора нужной записи) и разделить уже подстроку на элементы массива.
Ориентировочный код нового файла form_redaktor.php:
Редактируем запись ";?>
$arr2=explode("|",$arr[$i]); for($j = 0; $j < count($arr2); $j++) echo $arr2[$j]."
";
@list($mm, $adres) = split ('[:]', $arr2[4]);
//Или так:
list($mm, $summa) = explode (':', $arr2[3]);
@list($mm, $registrator) = split ('[:]', $arr2[2]); @list($mm, $radar) = split ('[:]', $arr2[1]);
?>
В этом файле мы сначала считали файл в массив, выбрали запись по указанному номеру, разобрали ее по разделителям, split нам дает массив данных, а list присваивает сразу всем переменным из списка значения этих элементов массива.
Эти значения переменных вводим в качестве value у элементов формы (вставки на PHP) и таким образом, видим форму, готовую для редактирования, т.к. видим заполненные прежние значения.
Здесь для редактирования добавлена и сумма заказа (например, для скидки клиентам).
В файле обработчике формы редактирования obrab_form_redaktor.php также необходимо заменить формируемую строку для сохранения в файл:
$date=(string) date('H:i, j F Y'); $totalamount=$_POST['summa'];
$arr[$nomer]=$date."\t"."|"." Заказано Антирадаров: ".$radar."\t"."|"." Заказано Видеорегистраторов: ".$registrator."\t"
."|"."Сумма заказа (руб): ".$totalamount." \t"."|"." Адрес доставки: ".$adress."\n";
В целом текст этого обработчика obrab_form_redaktor.php может быть таким:
$nomer=$nomer2-1;
$arr = file("../order.txt");
$date=(string) date(\H:i, j F Y'); $totalamount=$_POST['summa'];
$arr[$nomer]=$date."\t"."|"." Заказано Антирадаров: ".$radar."\t"."|"." Заказано Видеорегистраторов: ".$registrator."\t"
."|"."Сумма заказа (руб): ".$totalamount." \t"."|"." Адрес доставки: ".$adress."\n";
$ss=implode("",$arr);
$fp=fopen("../order.txt",\w');
fwrite($fp,$ss);
fclose($fp);
include("redaktirovanie.php");
?>
Совершенно аналогичную разборку строк можно провести и для файла chitaem.php просмотра заказов, например, чтобы вывести в красивую таблицу:
Заказы
Дата | Антирадары | Регистраторы | Сумма (руб) | Адрес |
$arr = file("order.txt"); for($i = 0; $i < count($arr); $i++){
echo"";
$arr2=explode("|",$arr[$i]);
for($j = 0; $j < 5; $j++) {
list($mm, $tt) = explode (':', $arr2[$j]);echo""; echo $tt; echo" | ";}
echo" ";}
echo" ";
?>
На страницу администратора
Do'stlaringiz bilan baham: |