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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не выводится нужный блок

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
AndronovV
Отправлено: 05 Июня, 2012 - 20:36:24
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Доброго времени суток, друзья!
Передо мной стоит задача реализовать добавление одним пользователем другого в друзья, при этом чтобы после нажатия на ссылку "добавить" эта ссылка исчезала и появлялась другая надпись.
Вот код. Прикол в том что все работает(в таблицу заносится 1), только почему-то он мне всеравно выдает блок где $friend_status['$friend_id'] == 0. Если работать без переменных, то все отлично, но вы сами понимаете что без них никуда. Взываю о помощи.
Код вывода блоков:
CODE (htmlphp):
скопировать код в буфер обмена
  1. if (isset($_GET['id']) && $_GET['id']!=$_COOKIE['uid']) {
  2.         $friend_id = md5($_GET['id']);
  3.         $friend = mysql_query ("SELECT $friend_id FROM friend_list WHERE id='$_COOKIE[uid]'");
  4.         $friend_status = mysql_fetch_array($friend);
  5.         if ($friend_status['$friend_id'] == 1) {echo '<p>Предложение отправлено</p><p><a href="messages?id='.$friend_id.'">Отправить сообщение</a></p>'; }
  6.         if ($friend_status['$friend_id'] == 0) {echo '<p><a href="friend_list?id='.$friend_id.'&uid='.$_GET['id'].'">Добавить в друзья</a></p><p><a href="messages?id='.$friend_id.'">Отправить сообщение</a></p>';}
  7.         if ($friend_status['$friend_id'] == 2) {echo '<p>'.$myrow['name'].' у Вас в друзьях</p><p><a href="messages?id='.$friend_id.'">Отправить сообщение</a></p>'; }
  8.         }


Код обработчика приглашения:

CODE (htmlphp):
скопировать код в буфер обмена
  1. if (isset($_GET['id'])) {
  2.         include ("../include/db.php");
  3.         $id = $_GET['id'];
  4. $result = mysql_query ("UPDATE friend_list SET  $id = 1 WHERE id=$_COOKIE[uid]");
  5. $_GET['id'] = $_GET['uid'];
  6. header("Location: ../?id=".$_GET['id']."");
  7.         }


Заранее спасибо!

(Отредактировано автором: 05 Июня, 2012 - 20:37:17)

 
 Top
Medallion
Отправлено: 05 Июня, 2012 - 21:47:55
Post Id



Частый гость


Покинул форум
Сообщений всего: 253
Дата рег-ции: Май 2012  
Откуда: Херсон, Украина


Помог: 7 раз(а)




Может дело всё в куках.
Но вот смотри, мой пример реализации, только некоторые не ругайтесь на код Подмигивание
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. include('database.php');
  4. db_connect('localhost','SR','8282','test');
  5. $sql = 'SELECT action FROM friends';
  6. $result = mysql_query($sql);
  7. $myrow = mysql_fetch_assoc($result);
  8.  
  9.  
  10. if($myrow['action'] == 0) {
  11.         $itog = 'Добрый день! Ты можешь добавить меня в друзья!<br>
  12.                         <a href="?friend=1">Добавить в друзья!</a>';
  13. }
  14.  
  15. if($myrow['action'] == 1) {
  16.         $itog = 'Добрый день! Ты мой друг, ты можешь удалить меня!<br>
  17.                         <a href="?friend=0">Удалить из друзей!</a>';
  18. }
  19.  
  20. if(isset($_GET['friend']) && $_GET['friend'] == 1){
  21.         $sql = 'UPDATE friends SET action=1';
  22.         echo '  <script type="text/javascript">
  23.                                 location.href="/";
  24.                         </script>';
  25. }
  26.  
  27. if(isset($_GET['friend']) && $_GET['friend'] == 0){
  28.         $sql = 'UPDATE friends SET action=0';
  29.         echo '  <script type="text/javascript">
  30.                                 location.href="/";
  31.                         </script>';
  32. }
  33.  
  34. ?>
  35.  
  36. <!DOCTYPE HTML>
  37. <html>
  38. <head>
  39. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  40. <title>JS</title>
  41. </head>
  42.  
  43. <body>
  44. <?php echo $itog;?>
  45. </body>
  46. </html>
  47.  


Первые две строчки подключение, потом выборка значения из поля action.
Есть база test, в ней таблица friends, в которой поле action.
Если в поле ноль, выводится Добрый день! Ты можешь добавить меня в друзья! и соответственно ссылка с GET-параметром friends=1
Условие проверяет, если пришел параметр со значением 1, меняет в базе в поле action значение на один.
Выборка из базы значения, оно равно один, значит выводится сообщение:
Добрый день! Ты мой друг, ты можешь удалить меня! и соответственно ссылка.
После нажатия, передается GET-параметр со значением 0, и соответственно меняется значение в таблице action.
Использован также редирект javascript, чтобы было видно сразу изменение.

Пишу подробно, чтобы не было вопросов.
Остальным, может это так и не организовывается, всмысле, таким мини-скриптом но смысл реализации я думаю передал.
 
 Top
AndronovV
Отправлено: 07 Июня, 2012 - 21:52:27
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Спасибо! Разобрался! дело было совсем не в том, что думал. Вся проблема из-за ковычек!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Если скрипт не работает »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB