<?php
include_once('view.php');
include_once('model.php');
include_once('startup.php');
startup();
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['save']))
{
$id = $_GET['id'];
$title = $_POST['title'];
$content = $_POST['content'];
if(articles_edit($id, $title, $content))
{
header('Location:article.php?id='.$_GET['id']);
die();
}
}
if(isset($_POST['delete']))
{
if(articles_delete($_GET['id']))
{
header('Location:editor.php');
die();
}
}
}
else
{
if(!isset($_GET['id'])) die('Не было передано ID редактируемой статьи');
$id_article = $_GET['id'];
$article = article_get($id_article);
}
//Подключаем шаблон меню
$menu = view_include('theme/v_menu.php');
//Подключаем внутренний шаблон
$content = view_include('theme/v_edit.php', array('article' => $article));
//Подключаем внешний шаблон
$page = view_include('theme/v_main.php', array('menu' => $menu, 'title' => $title, 'content' => $content));
echo $page;
кусок из model.php
//
// Изменить статью
//
function articles_edit($id_article, $title, $content)
{
$query = "UPDATE pro_articles SET title='$title', content='$content' WHERE id_article='$id_article'";
$result = mysql_query($query);
if(!$return) die(mysql_error());
return true;
}
//
// Удалить статью
//
function articles_delete($id_article)
{
$query = "DELETE FROM pro_articles WHERE id_article='$id_article'";
$result = mysql_query($query);
if(!$return) die(mysql_error());
return true;
}
Спустя 33 минуты, 42 секунды (14.09.2011 - 23:45) caballero написал(а):
кидать весь код с не относящимися к сути вопроса запросами к БД совершенно ни к чему
попробуй напрямую ввести article.php?id=<известный номер>
возможно надо написать в коде /article.php
или как то так $_SERVER['HTTP_HOST'] . '/article.php
но скорее у тебя $_GET['id'] пустой - ты ж форму отправил как POST
используй $_REQUEST['id'] - не промахнешся
попробуй напрямую ввести article.php?id=<известный номер>
возможно надо написать в коде /article.php
или как то так $_SERVER['HTTP_HOST'] . '/article.php
но скорее у тебя $_GET['id'] пустой - ты ж форму отправил как POST
используй $_REQUEST['id'] - не промахнешся
Спустя 12 минут, 33 секунды (14.09.2011 - 23:58) eldarNew написал(а):
$_GET['id'] не пустой. Если я комментирую вот эту строку:
if(articles_edit($id, $title, $content))
то header() работает. А с ней не хочет. Вот я и не могу понять, что ему не нравится в методе articles_edit()?
if(articles_edit($id, $title, $content))
то header() работает. А с ней не хочет. Вот я и не могу понять, что ему не нравится в методе articles_edit()?
Спустя 59 минут, 34 секунды (15.09.2011 - 00:58) caballero написал(а):
у тебя функция либо возвращает true либо умирает
то есть условие в if(articles_edit($id, $title, $content)) не имет смысла
а хедер не работает потому что внутри функции где то ошибка
такие вещи вообще то дебагером надо проходить по строкам
то есть условие в if(articles_edit($id, $title, $content)) не имет смысла
а хедер не работает потому что внутри функции где то ошибка
такие вещи вообще то дебагером надо проходить по строкам
Спустя 27 минут, 39 секунд (15.09.2011 - 01:25) inpost написал(а):
mysql_query может у тебя быть неправильным. Напиши:
Ты делаешь на проверку if(!$result), что этим ты хочешь проверить? Изменены ли были записи? Изменения записей фиксируется так: mysql_affected_rows, если =1, значит запись была изменена.
mysql_query($query) or die(mysql_error());
Ты делаешь на проверку if(!$result), что этим ты хочешь проверить? Изменены ли были записи? Изменения записей фиксируется так: mysql_affected_rows, если =1, значит запись была изменена.
Спустя 4 минуты, 4 секунды (15.09.2011 - 01:29) inpost написал(а):
Возможно мой предыдущий коммент пустой. Он переправляет на пустую страницу, на какую? Что в адресной строке записано? Какая страница?
Спустя 24 минуты, 59 секунд (15.09.2011 - 01:54) caballero написал(а):
Цитата |
Он переправляет на пустую страницу, на какую? Что в адресной строке записано? Какая страница? |
Скорее всего страница умирает через die не успев ничего вывести
Вообще растыкать die по коду исключительно хреновый метод
нужно вывести ошибку выведи ее черз переменную и дайц сайту нормально прорисоватся а не прибивай его в середине кода
Спустя 6 минут, 58 секунд (15.09.2011 - 02:01) inpost написал(а):
caballero
ну так вместе с адресной строкой можно определить, либо из-за die скрипт умер на этой странице, либо перешел на левую, вдруг банально путь неправильно указал в header
ну так вместе с адресной строкой можно определить, либо из-за die скрипт умер на этой странице, либо перешел на левую, вдруг банально путь неправильно указал в header