<?php
$list[0]['name'] = 'Мистер Зеро';
$list[0]['mail'] = '[email protected]';
$list[1]['name'] = 'Вася';
$list[1]['mail'] = '[email protected]';
$list[2]['name'] = 'Петя';
$list[2]['mail'] = '[email protected]';
$list[3]['name'] = 'Михаил Петрович';
$list[3]['mail'] = '[email protected]';
if (isset($_GET['edit'])) {
//Т.к. юзеры сплош все хацкеры, мы им не верим, и режем для верности пять символов от начала строки, ибо туда влезет вполне себе большое число.
// Так же сразу приводим тип, раз мы знаем точно, что там должно придти - число.
$_GET['edit'] = (int)trim(substr(trim($_GET['edit']),0,5));
//рисуем форму, ибо инпуты живут в формах.
//в форму надо засунуть инпут с id записи, которую правим. лучше бы его спрятать.
echo "Редактируем запись {$_GET['edit']}
<form id='frm_edit' name='frm_edit' method='POST' action='{$_SERVER['PHP_SELF']}'>
<input type='hidden' name='id' value='{$_GET['edit']}'>
Имя: <input name='name' value='{$list[$_GET['edit']]['name']}'><br>
Почта: <input name='mail' value='{$list[$_GET['edit']]['mail']}'><br>
<input type='submit'>
</form>
";
}
//т.к. форма отправляет данные POST'ом, мы их там и будем искать.
if (isset($_POST['id']) AND isset($_POST['name']) AND isset($_POST['mail'])) {
//сохраняем присланные данные.
$_POST['id'] = (int)trim(substr(trim($_POST['id']),0,5));
$_POST['name'] = trim(substr(trim($_POST['name']),0,255));
$_POST['mail'] = trim(substr(trim($_POST['mail']),0,255));
//если полей больше - есть другой способ, который позволяет пройтись по ним и пообрезать в цикле.
//кагбэ типа сохраняем...
$list[ $_POST['id']]['name']=$_POST['name'];
$list[ $_POST['id']]['mail']=$_POST['mail'];
}
//рисуем лист
for ($i = 0; $i < count($list); $i++) {
echo "<div class='entry'> {$list[$i]['name']}, {$list[$i]['mail']} <a href='?edit=$i'>Редактировать</a>";
}
?>