Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создаю Редактор Новостей, нужна помощь в создании... 
:(
    Опции темы
ReactOS
  Дата 17.12.2007, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Привет!


Решил для своей практики, заняться созданием Рекдактора Новостей.
В процессе создания, уже ни раз проверял Код, пытался найти ошибку, но не нашел!  smile 

Прошу помочь мне, в создании Редактора Новостей!  smile 


newslist.php
Код

<html>

<head>
<title>newslist.php</title>

</head>

<body>

<?

$db_name = "dbnews";
$table = "news";
$host = "localhost";
$user = "root";
$pass = "";

$link = mysql_connect($host, $user, $pass) or
die(mysql_errno($link).mysql_error($link));

$db = mysql_select_db($db_name, $link) or
die(mysql_errno($link).mysql_error($link));

$result = mysql_query($link) or
die(mysql_errno($link).mysql_error($link));

echo("<table border = 1>");
$th = explode("#", "ID#Text#Date#Change#Delete");

echo("<tr><th>");
echo implode("</th><th>", $th);
echo("</th></tr>");
while($data = mysql_fetch_row($result))
    {
        echo("<tr><td>");
        echo implode("</td></td>", $th);
        echo("</td><td><a href = 'changeview.php?id=". $data[0]. "'>Change</a>");
        echo("</td><td><a href = 'changeview.php?id=". $data[0]. "'>Change</a>");
        echo("</td><tr>");
    }


mysql_free_result($result);
mysql_close($link);
echo("</table>");
echo("<a href = 'addnews.php'>Add One News!</a>");    
    
?>


</body>

</html>



addnews.php
Код

<html>

<head>
<title>addnews.php</title>

</head>

<body>

News Body:<br>
<form method = "post" action = "savenews.php">
<textarea rows = "5" cols = "20" name = "newsbody"></textarea><br>
<input type = "submit" value = "Save">
<input type = "reset" value = "Clear">
</form>
<br>

<a href = "newslist.php">Back to the "NewsList"</a>

</body>

</html>



changenews.php
Код

<html>

<head>
<title>Change One News</title>

</head>

<body>


"Body News"<br>


<?php

//Configuration.Connect 
/* begin Config */
$db_name = "dbnews";
$table = "news";
$host = "localhost";
$user = "root";
$pass = "";
/* end Config */


$link = mysql_connect($host, $user, $pass) or
die(mysql_errno($link).mysql_error($link));

$db = mysql_select_db($db_name, $link) or
die(mysql_errno($link).mysql_error($link));

$newsid = $_REQUEST['id'];
$sql_query = "SELECT * FROM news WHERE id = \"$newsid\"";

$result = mysql_query($sql_query, $link) or
die(mysql_errno($link).mysql_error($link));

$data = mysql_fetch_row($result);


// Show
echo("<form method = \"post\" action = \"updatenews.php?id=$newsid\">");

echo("<textarea rows = \"5\" name = \"newsbody\" cols = \"20\">$data[1]</textarea><br>");
// Show


mysql_free_result($result);
mysql_close($link);


?>

<input type = "submit" value = "Save! :)">
<input type = "reset" value = "Reset! :)">
</form>

<br>

<a href = "newslist.php">Back to the "NewsList"! ;)</a>

</body>

</html>



deletenews.php
Код

<?php

//Configuration.Connect 
/* begin Config */
$db_name = "dbnews";
$table = "news";
$host = "localhost";
$user = "root";
$pass = "";
/* end Config */

$link = mysql_connect($host, $user, $pass) or
die(mysql_errno($link).mysql_error($link));

$db = mysql_select_db($db_name, $link) or
die(mysql_errno($link).mysql_error($link));

$newsid = $_REQUEST['id'];
$sqlquery = "DELETE FROM news WHERE id = \"$newsid\"";

$result = mysql_query($sql_query, $link) or
die(mysql_errno($link).mysql_error($link));

mysql_close($link);
header('Location: newslist.php');

?>



savenews.php
Код

<?php

//Configuration.Connect 
/* begin Config */
$db_name = "dbnews";
$table = "news";
$host = "localhost";
$user = "root";
$pass = "";
/* end Config */


$link = mysql_connect($host, $user, $pass) or
die(mysql_errno($link).mysql_error($link));

$db = mysql_select_db($db_name, $link) or
die(mysql_errno($link).mysql_error($link));

$newsbody = $_POST['newsbody'];
$sql_query = "INSERT INTO news (date, text) VALUES (NOW(), \"$newsbody\")";
$result = mysql_query($sql_query, $link) or
die(mysql_errno($link).mysql_error($link));

mysql_close($link);
header('Location: newslist.php');

echo($newsdata);

?>



updatenews.php
Код

<?php

//Configuration.Connect 
/* begin Config */
$db_name = "dbnews";
$table = "news";
$host = "localhost";
$user = "root";
$pass = "";
/* end Config */


$link = mysql_connect($host, $user, $pass) or
die(mysql_errno($link).mysql_error($link));

$db = mysql_select_db($db_name, $link) or
die(mysql_errno($link).mysql_error($link));


$newsbody = $_POST['newsbody'];
$newsid = $_REQUEST['id'];
$sql_query = "UPDATE news SET text = \"$newsid\"";

$result = mysql_query($sql_squery, $link) or
die(mysql_errno($link).mysql_error($link));

mysql_close($link);
header('Location: newslist.php');

?>



SQL-запрос в MySQL:
Код

CREATE TABLE `news` (
  `id` int NOT NULL auto_increment,
  `text` varchar(255) NOT NULL,
  `date` datetime NOT NULL,
  PRIMARY KEY  (`id`)
)



Проблема в том, что новости в MySQL добавляются (я проверил это с помощью phpMyAdmin), НО в Браузере - отображается только ошибка, когда я собираюсь редактировать!

1064 - У меня ошибка в Синтаксисе SQL!


Прошу помочь в Создании!  smile 
PM   Вверх
Feldmarschall
Дата 17.12.2007, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Ты бы это... Хотя бы файл и строку, что ли, написал, в которой выдается эта ошибка?
PM   Вверх
PARROT
Дата 17.12.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



ReactOS, Сам писал скрипт или из книги взял?


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
ReactOS
Дата 17.12.2007, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Цитата

Ты бы это... Хотя бы файл и строку, что ли, написал, в которой выдается эта ошибка?


1064
You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for
the right syntax to use near 'Resource id #2' at line 1


После того, как добавил Новость (с помощью "addnews.php"), на "newslist.php" выдает данную ошибку! smile


Цитата

ReactOS, Сам писал скрипт или из книги взял?


Часть сам, часть взял!  smile 

Это сообщение отредактировал(а) ReactOS - 17.12.2007, 15:33
PM   Вверх
Feldmarschall
Дата 17.12.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



На newslist.php у тебя выполняется только один запрос.
посмотри внимательно на строчку, которая его выполняет. Ничего необычного не видишь?
Сравни тогда с выполнением запросов в других скриптах.
PM   Вверх
Feldmarschall
Дата 17.12.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



не забывай про функцию mysql_real_escape_string(), которой надо обрабатывать любые данные, помещаемые в запрос.
А в остальном - нормальный редактор. Только стоит подумать о том, чтобы сократить повторяемость кода.
к примеру, файлы savenews.php, deletenews.php и updatenews.php отличаются всего одной строчкой.






Это сообщение отредактировал(а) Feldmarschall - 17.12.2007, 16:19
PM   Вверх
ReactOS
  Дата 18.12.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Прежде всего, исправляю свои ошибки:


newslist.php
Код

<html>

<head>
<title>newslist.php</title>

</head>

<body>

<?php

//Configuration.Connect 
/* begin Config */
$db_name = "dbnews";
$table = "news";
$host = "localhost";
$user = "root";
$pass = "";
/* end Config */

$link = mysql_connect($host, $user, $pass) or
die(mysql_errno($link).mysql_error($link));

$db = mysql_select_db($db_name, $link) or
die(mysql_errno($link).mysql_error($link));

$result = mysql_query("SELECT * FROM ". $table, $link) or
die(mysql_errno($link).mysql_error($link));

echo("<table border = 1>");
$th = explode("#", "ID#Text#Date#Change#Delete");

echo("<tr><th>");
echo implode("</th><th>", $th);
echo("</th></tr>");
while($data = mysql_fetch_row($result))
    {
        echo("<tr><td>");
        echo implode("</td><td>", $data);
        echo("</td><td><a href = 'changenews.php?id=". $data[0]. "'>Change</a>");
        echo("</td><td><a href = 'deletenews.php?id=". $data[0]. "'>Delete</a>");
        echo("</td><tr>");
    }


mysql_free_result($result);
mysql_close($link);
echo("</table>");
echo("<a href = 'addnews.php'>Add One News!</a>");    
    
?>


</body>

</html>



update.php
Код

<?php

//Configuration.Connect 
/* begin Config */
$db_name = "dbnews";
$table = "news";
$host = "localhost";
$user = "root";
$pass = "";
/* end Config */


$link = mysql_connect($host, $user, $pass) or
die(mysql_errno($link).mysql_error($link));

//Selecting DB('db_news')
$db = mysql_select_db($db_name, $link) or
die(mysql_errno($link).mysql_error($link));


$newsbody = $_POST['newsbody'];
$newsid = $_REQUEST['id'];
$sql_query = "UPDATE news SET text = \"$newsbody\" WHERE id = \"$newsid\"";

$result = mysql_query($sql_squery, $link) or
die(mysql_errno($link).mysql_error($link));

mysql_close($link);
header('Location: newslist.php');

?>



<html>

<head>
<title>Change One News</title>

</head>

<body>


"Body News"<br>


changenews.php
Код

<?php

//Configuration.Connect 
/* begin Config */
$db_name = "dbnews";
$table = "news";
$host = "localhost";
$user = "root";
$pass = "";
/* end Config */


$link = mysql_connect($host, $user, $pass) or
die(mysql_errno($link).mysql_error($link));

$db = mysql_select_db($db_name, $link) or
die(mysql_errno($link).mysql_error($link));

$newsid = $_REQUEST['id'];
$sql_query = "SELECT * FROM news WHERE id = \"$newsid\"";

$result = mysql_query($sql_query, $link) or
die(mysql_errno($link).mysql_error($link));

$data = mysql_fetch_row($result);


// Show
echo("<form method = \"post\" action = \"updatenews.php?id=$newsid\">");

echo("<textarea rows = \"5\" name = \"newsbody\" cols = \"20\">$data[1]</textarea><br>");
// Show


mysql_free_result($result);
mysql_close($link);


?>

<input type = "submit" value = "Save! :)">
<input type = "reset" value = "Reset! :)">
</form>

<br>

<a href = "newslist.php">Back to the "NewsList"! ;)</a>

</body>

</html>



deletenews.php
Код

<?php

//Configuration.Connect 
/* begin Config */
$db_name = "dbnews";
$table = "news";
$host = "localhost";
$user = "root";
$pass = "";
/* end Config */

$link = mysql_connect($host, $user, $pass) or
die(mysql_errno($link).mysql_error($link));

$db = mysql_select_db($db_name, $link) or
die(mysql_errno($link).mysql_error($link));

$newsid = $_REQUEST['id'];
$sqlquery = "DELETE FROM news WHERE id = \"$newsid\"";

$result = mysql_query($sql_query, $link) or
die(mysql_errno($link).mysql_error($link));

mysql_close($link);
header('Location: newslist.php');

?>



Все работает, как надо, кроме двух функций smile
Изменение и удаление Новостей! smile

Когда пытаюсь изменить/удалить Новость, то пишет ошибку, что мой запрос был пустым! smile
Чего-то не пойму, вроде в запросах пишу, чтобы изменялся, почему пишет Query was Empty! smile

Прошу помощи в доработке данного Редактора! smile

PM   Вверх
Feldmarschall
Дата 18.12.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Во-первых, не надо постить сюда тексты скриптов, не относящихся к вопросу. Если у тебя ошибка только в двух.
Во-вторых, с такой внимательностью, как твоя, программирование превратится в весьма нелегкое занятие.

И первая твоя проблема, и вторая, к программированию, как таковому, отношения не имеют. Точно так же ты можешь ошибиться где угодно. К примеру в договоре при приеме на работу можешь написать не 30000 руб, а 30 руб.

Здесь у тебя то же самое. В одном месте одно имя переменной, а в другом - другое.

Частично тебе может помочь во втором случае отображение всех ошибок.
Напиши вначале всех скриптов строчку
error_reporting(E_ALL);

PHP тебя хотя бы предупредит, что ты пвтаешься подставить в mysql_query несуществующую переменную
PM   Вверх
bars80080
Дата 18.12.2007, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



прикольный запрос для редактирования
Цитата

$sql_query = "SELECT * FROM news WHERE id = \"$newsid\"";


Это сообщение отредактировал(а) bars80080 - 18.12.2007, 14:13
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0758 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.