Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: переменная $_GET передача id новости......
Форумы портала PHP.SU » » Вопросы новичков » переменная $_GET передача id новости......

Страниц (1): [1]
 

1. MBmusic - 28 Марта, 2012 - 17:36:53 - перейти к сообщению
в общем на стену у нас выводятся новости, когда администратор сайта находится на этой странице он в адресной строке видит следующий передаваемый параметр:



потом когда он выбирает одну из любых выведенных новостей он попадает на полностью открытую эту новость и коменты к ней, в строке мы увидим:



тоесть передался айди выбранной новости......здесь выведены все коменты, админ может удалить любой комент относящийся к данной новости, для этого есть следующий код:

PHP:
скопировать код в буфер обмена
  1. echo ' <a class="delete_page_comment" href=?id='.$comments_row['id'].'&page=forum_vid&act=view&del=com onclick="return confirm(\'Точно удалить?\');">Удалить</a>';
  2.  
  3. if ($_GET['id']&&$_GET['del']=='com')
  4. {                            
  5.    $delete_com = mysql_query("DELETE FROM comments WHERE `id`='".$_GET['id']."'");
  6.    header('Location: ?page=forum_vid&act=view#form');                            
  7. }
  8.  


вот, когда пользователь нажмет возле комента удалить передается айди комента и происходит удаление, НО пользователся должно автоматически оставить на этой странице, для этого стоит header('Location: ?page=forum_vid&act=view#form'); НО работает не правильно, мненя при удалении перекидывает на выбор новости напостой, а должно оставлять на той странице где я удалял коментарии, по сути в header('Location: ?page=forum_vid&act=view#form'); должен передаватся айди выбранной новости, тоесть примерно так должно быть:

PHP:
скопировать код в буфер обмена
  1. ?id=38&page=forum_vid&act=view


но я не знаю как передать айди новости при удалении коментария, я уже и через сессии пробовал занося айди в сесию когда происходит выборка новости, и при удалении пробовал из базы выбрать айди темы......в общем такая проблема...
2. Panoptik - 28 Марта, 2012 - 19:45:07 - перейти к сообщению
а в хедер не пробовали еще имя скрипта подставлять?
3. MBmusic - 28 Марта, 2012 - 20:26:34 - перейти к сообщению
Panoptik пишет:
а в хедер не пробовали еще имя скрипта подставлять?

?)) вы о чем?)
4. Panoptik - 28 Марта, 2012 - 20:40:32 - перейти к сообщению
MBmusic пишет:
?)) вы о чем?)

в данном случае я имел ввиду следующее
PHP:
скопировать код в буфер обмена
  1.  header('Location: index.php?page=forum_vid&act=view#form');


но судя по всему у вас проблема не в этом.
у вас походу проблемы с логикой программы, а не с перенаправлениями
5. MBmusic - 28 Марта, 2012 - 20:44:07 - перейти к сообщению
то что вы выше привели это ж не правильно, эта ссылка перенаправляет на страницу с новостями......надо эту ссылку превратить в такую:

PHP:
скопировать код в буфер обмена
  1. header('Location: index.php?id=35&page=forum_vid&act=view#form');


где id=35 это айди самой новости, вместо 35 может быть любой другой айди в зависимости какую новость выбрал админ......вот это я и не знаю как реализовать...
6. Panoptik - 28 Марта, 2012 - 20:45:24 - перейти к сообщению

Блин, щас читал и только дошло...
сказывается рабочая усталость

сделайте обычную выборку с таблицы комментс. я так понимаю у вас в ней должны быть отношения к новости то есть таблица приблизительно такого вида comments: id, news_id, text
так вот и делайте выборку перед удалением
PHP:
скопировать код в буфер обмена
  1. $news_id_row = mysql_fetch_row(mysql_query("SELECT news_id FROM comments WHERE id = ".$id));
  2. $delete_com = mysql_query("DELETE FROM comments WHERE `id`='".$_GET['id']."'");
  3.    header('Location: ?id='.$news_id_row[0].'&page=forum_vid&act=view#form');                      
  4.  
7. MBmusic - 28 Марта, 2012 - 20:58:01 - перейти к сообщению
дык у меня так и есть, выборка перед удалением......прикол заключается в следующем, что при удалением у нас передается айди комента......я ж писал выше об этом, вот еще раз приведу код:

PHP:
скопировать код в буфер обмена
  1. echo ' <a class="delete_page_comment" href=?id='.$comments_row['id'].'&page=forum_vid&act=view&del=com onclick="return confirm(\'Точно удалить?\');">Удалить</a>';
  2.  
  3. if ($_GET['id']&&$_GET['del']=='com')
  4. {                            
  5.    $delete_com = mysql_query("DELETE FROM comments WHERE `id`='".$_GET['id']."'");
  6.    header('Location: ?page=forum_vid&act=view#form');                            
  7. }

(Добавление)
если получен айди комента на удаление, то происходит удаление, после чего нужно вернутся на страницу выбраной новости header('Location: ?id=35&page=forum_vid&act=view#form');
8. svoloch - 29 Марта, 2012 - 08:17:00 - перейти к сообщению
Panoptik пишет:
PHP:
скопировать код в буфер обмена
  1. $news_id_row = mysql_fetch_row(mysql_query("SELECT news_id FROM comments WHERE id = ".$id));
  2. $delete_com = mysql_query("DELETE FROM comments WHERE `id`='".$_GET['id']."'");
  3.    header('Location: ?id='.$news_id_row[0].'&page=forum_vid&act=view#form');                      
  4.  


Чем не устраивает данный вариант? Все просто и понятно. Выбираешь из таблицы с комментами идентификатор самой новости из удаляемой строки. Далее, после удаления самой строки из таблицы, переадресуешь на новость.
9. snikers987 - 29 Марта, 2012 - 12:43:57 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. echo ' <a class="delete_page_comment" href="?id='.$comments_row['id'].'&page=forum_vid&act=view&del=com&news_id='.$_GET['id'].'" onclick="return confirm(\'Точно удалить?\');">Удалить</a>';
  2.  
  3. if ($_GET['id']&&$_GET['del']=='com')
  4. {                            
  5.    $delete_com = mysql_query("DELETE FROM comments WHERE `id`='".$_GET['id']."'");
  6.    header('Location: ?id='.$_GET['news_id'].'&page=forum_vid&act=view#form');                            
  7. }


?
10. MBmusic - 29 Марта, 2012 - 15:33:37 - перейти к сообщению
snikers987 спасибо, работает!)

 

Powered by ExBB FM 1.0 RC1