function post_get($arr) { global $news; if (in_array('id', array_flip($arr))) { //у $_POST в данном случае всегда будет параметр 'id' if (is_numeric($arr['id']) && $arr['id'] <= count($news) && $arr['id'] > 0) { news_specific($arr['id'] - 1); } else { news_all(); } } elseif ($arr) { not_found(); } else { news_all(); } }
<!DOCTYPE html> <?php require_once "../database.php"; require_once "../models/functions.php"; $link = db_connect(); $news = news_all($link); if (isset($_GET['action'])) { $action = $_GET['action']; } else { $action = ""; } if ($action == "add") { if (!empty($_POST)) { news_add($link, $_POST['title'], $_POST['content'], $_FILES['icon']); header("Location: admin_news.php"); } } else { if ($action == "delete") { $id = $_GET['id']; $article = news_delete($link, $id); header("Location: admin_news.php"); } } ?> <html> <head> <title>Административная консоль - Новости</title> <meta charset="utf-8"> <link rel="shortcut icon" href="favicon.png" type="image/png"> <link rel='stylesheet' href='style.css'> </head>
$title = ""; $author = ""; $datefirst = ""; $datelast = ""; if (!empty($_POST['title'])) { $title = $_POST['title']; } if (!empty($_POST['author'])) { $author = $_POST['author']; } if (!empty($_POST['datefirst'])) { $datefirst = $_POST['datefirst']; } if (!empty($_POST['datelast'])) { $datelast = $_POST['datelast']; } $numpage = 1; // TODO: постраничный вывод отфильтрованных результатов $articles = news_filter($link, $title, $author, $datefirst, $datelast); include "../views/adminnews.php"; } } } } } } } else { $numpage = get_num_pages($link); $articles = news_all($link, $page); include "../views/adminnews.php"; }
Здоровое питание: вегетарианская кулинария День святого Патрика: угощения, пивной теннис и уличные гуляния с огнем «Красный факел» пустит публику на ночные экскурсии за кулисы и по закоулкам столетнего здания Звезды телешоу «Голос» Наргиз Закирова и Гела Гуралиа споют в «Маяковском»'; $news = explode("\n", $news); if (isset($_POST['id']) && !empty($_POST['id'])) { $get_holder = $_POST['id']; if (is_numeric($get_holder) && $get_holder <= count($news) && $get_holder > 0) { news_specific($get_holder - 1); } else { news_all(); } } elseif ($_POST) { /* Т.к параметр id у нас статичный в форме, то другого не может быть, * ошибку можно вызвать только исходя из значений этого параметра. * В данном случае если мы нажали отправить на пустое окошко, то * вылезет 404 ошибка. */ not_found(); } else { news_all(); } ?> <form method='POST'> <label> <input type="text" name="id"> <input type="submit"> </label> </form>