Допустим есть каталог новостей, точнее скрипт который их выводит и нам надо генерировать ссылки на их редактирование. Вот я и расскажу как это можно сделать. Самый просто способ это создать файл, который будет принимать ID новости и доставать ее из БД отдавая на редактирование. Например
1 2 3 4 5 6
<?php if (empty($_GET['id'])) header('Location: /'); die();
$q = mysql_query("SELECT * FROM `news` WHERE `id` = '" . intval($_GET['id']) . "' LIMIT 1");
if (mysql_num_rows($q) < 1) header('Location: /'); die();
//теперь в $result содержится массив с данными новости
$result = mysql_fetch_assoc($q);
//и мы можем заполнить форму этими данными. То есть показывать не пустую форму а с данными новости, ведь мы не пишем новую новость а редактируем уже имеющуюся?>
так вот допустим этот файл называется edit.php, тогда нам надо формировать ссылки вида http://mysite/edit.php?id=ИД НОВОСТИ
вот видишь я передаю в гете id. $_GET это все что идет в адресной строке после знака вопроса. Там можно передавать сколько хочешь параметров и разделять их &.
skad0 пишет:
И зачем везде header?
Это если ошибка произошла я переправляю на главную, но это чисто для илюстрации, ты можешь сделать както по другому например выдавать сообщения об ошибке. Это уже твое дело как сообщить об ошибке, это ты уже умеешь
skad0 пишет:
что значит?
Дело в том что в $_GET['id'] могут затулить что угодно, а функция intval() гарантирует что после нее там будет именно число. Это для безопасности, что бы быть увереным что в запрос пойдет имено число а не например '; DELETE FROM `users`
у инпутов есть поле value и его можно заполнять данными. Вот при помощи того str_replace ты можешь в эти value запихать что надо. то есть сами инпуты будут выглядеть в шаблоне примерно так