Вообщем, делаю...точнее пробую делать скрипт новостей где к новости добавляются комментарии. На 8ой строке мы получаем id новости ($id_news). Далее идет выборка новости, потом выборка комментариев, потом html форма отправки, которая передает данные по ссылке index.php?action=add. И после того как мы переходим на action=add, (где должна происходить вставка в бд)у нас обнуляется переменная $id_news, соответственно, из-за этого, унас не выводятся ни новости, ни комментариев. Что нужно сделать, или как правильно нужно писать, что бы $id_news не обнулялась?
Код прикрепил.
apple, в форму [php:1:57068b7ccc]<form method = "post" action = "index.php?action=add">[/php:1:57068b7ccc]
Добавляй ID новости. Он у тебя обнуляется потому что $_GET['news'] пуст, от куда ему взятся.
TOOZ, то есть так?
[php:1:c9e38fdc4f]<form method = "post" action = "index.php?action='.$id_news.'">[/php:1:c9e38fdc4f]
Так
<form method = "post" action = "index.php?news='.$id_news.'&action=add">
добавлено спустя 1 минуту:
И еще у тебя скрипт дырявый будет, если так и оставишь. Фильтруй обязательно все суперглобальные массивы.
$id = abs(intval($_GET['news']));
TOOZ, ух ты, с такими двойными штуками я не сталкивался. =D и как это принять? ну в смысле если просто index.php?actino=add
я пишу
[php:1:d06f3cffeb]
if ($_GET[action] == add)
{
}
[/php:1:d06f3cffeb]
и тд. а в этом случае не знаю? можешь в моем коде написать, если не сложно, а я разберусь. Буду очень благодарен=)
И символ & лучше прописывать так: & , дабы избежать синтаксическую ошибку 
apple, просто замени код формы, на тот который я дал.
И отформатируй код...если дальше наращивать функционал скрипта то через некоторое время в нем не разберешься даже ты сам.
добавлено спустя 2 минуты:
Ща сделаю...
добавлено спустя 6 минут:
[php:1:cc671703b2]<?
$id_news = abs(intval$_GET["news"]));
$query = mysql_query("SELECT * FROM `news` WHERE id = $id_news") or die ('<br><div class = "block">Новостей нет, скорее всего это ошибка, сообщите администратору</div>');
$row = mysql_fetch_array($query);
{
echo '<div class = "block">';
echo '<div class = "block event title" style "font: bold;"><table border = "0" width = "100%"><tr><td align = "left"><img src = "../../news/img/news.png"> '.$row["title"].'</td><td align = "right"><span class = "nickBlocked small">'.$row["date"].' в '.$row["time"].'</td></tr></table></div>';
echo '<div class = "block nickAdmin">'.$row["text_news"].'</div>';
echo '</div>';
}
$query = mysql_query("SELECT * FROM `comments_news` WHERE id = $id_news") or die ('<br><div class = "block">Комментариев нет, скорее всего это ошибка, сообщите администратору</div>');
while ($row = mysql_fetch_array($query))
{
echo '<br>';
echo '<div class = "event minor"><table border = "0" width = "100%"><tr><td align = "left"> '.$row["name"].'</td><td align = "right"><span class = "nickBlocked small">'.$row["date"].' в '.$row["time"].'</td></tr></table></div>';
echo '<div class = "block small">'.$row["text"].'</div>';
}
echo '
<!--Форма отправки-->
<br>
<form method = "post" action = "index.php?news='.$id_news.'&action=add">
<span class = "small">Имя:</span> <input type = "name" name = "name"><br>
<textarea name = "post"></textarea><br>
<input type = "submit" name = "ok" value = "Написать">
</form>
<!--Конец формы отправки-->';
$action = $_GET["action"];
if ($action == 'add')
{
echo ' Проверка прошла успешно';
}
?>[/php:1:cc671703b2]
TOOZ, да, спасибо, я это сделал уже=)) благодарю за быструю помощь, не смотря на то, что уже 5 утра=)
добавлено спустя 8 минут:
а да, кстати, abs(intval()) вставлять везде от куда приходит? я имею ввиду даже когда передаются данные из формы? кстати, по моему intval для чисел только
apple, abs(intval($value)) -для чисел
mysql_real_esqape_string(trim(value)) - при записе в бд
htmlspecialchar($value, ENT_QUOTES) - при выводе из бд
nitron, В двух функциях 2 ошибки.
[php:1:3ca9764868]
mysql_real_escape_string(trim($value)) // при записе в бд
htmlspecialchars($value, ENT_QUOTES) // при выводе из бд
[/php:1:3ca9764868]