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 :: Не работает json [3]

 PHP.SU

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


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

> Без описания
Нуб-2
Отправлено: 22 Апреля, 2013 - 17:21:13
Post Id


Гость


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


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

[+]


DelphinPRO пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2.    UPDATE `users`
  3.    SET
  4.      `s-cvs`='".mysql_real_escape_string($info->response->players[0]->communityvisibilitystate)."'
  5.    WHERE `s-steamid` = ".mysql_real_escape_string($info->response->players[0]->steamid)."
  6. ";

Спасибо Улыбка
 
 Top
Нуб-2
Отправлено: 22 Апреля, 2013 - 19:30:03
Post Id


Гость


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


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

[+]


DelphinPRO пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2.    UPDATE `users`
  3.    SET
  4.      `s-cvs`='".mysql_real_escape_string($info->response->players[0]->communityvisibilitystate)."'
  5.    WHERE `s-steamid` = ".mysql_real_escape_string($info->response->players[0]->steamid)."
  6. ";


Т.е., как-то так получается вся строчка? Смущает большое кол-во кавычек.
PHP:
скопировать код в буфер обмена
  1. mysql_query(" UPDATE `users` SET `s-cvs`='".mysql_real_escape_string($info->response->players[0]->communityvisibilitystate)."',`s-personaname`='".mysql_real_escape_string($info->response->players[0]->personaname)."',`s-profileurl`='".mysql_real_escape_string($info->response->players[0]->profileurl)."',`s-avatar`='".mysql_real_escape_string($info->response->players[0]->avatar)."',`s-avatarm`='".mysql_real_escape_string($info->response->players[0]->avatarmedium)."',`s-avatarf`='".mysql_real_escape_string($info->response->players[0]->avatarfull)."'   WHERE `s-steamid` = ".mysql_real_escape_string($info->response->players[0]->steamid)."";

(Добавление)
И еще возник маленький вопрос:
Почему после входа сразу выходит?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require 'openid.php';
  3. require 'config.php';
  4. try {
  5.     $openid = new LightOpenID('l8eve.ru');
  6.     if(!$openid->mode) {
  7.         if(isset($_GET['login'])) {
  8.             $openid->identity = 'http://steamcommunity.com/openid';
  9.             header('Location: ' . $openid->authUrl());
  10.         }
  11. ?>
  12. <form action="?login" method="post">
  13.     <button>Login with Steam</button>
  14. </form>
  15. <?PHP
  16.     } elseif($openid->mode == 'cancel') {
  17.         echo 'User has canceled authentication!';
  18.     } else {
  19.         echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
  20.                
  21.                 $temp_Steam_User_ID = str_replace("http://steamcommunity.com/openid/id/", "", "$openid->identity");
  22.                 $json = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key={$Steam_Api_Key}&steamids={$temp_Steam_User_ID}";
  23.                 $json_file = file_get_contents($json);
  24.                 if ($json_file == FALSE)
  25.                         {
  26.                                 echo "Ooops.Something went wrong.";
  27.                         } else
  28.                                 {
  29.                                         require "db.php";
  30.                                         $info = json_decode($json_file);
  31.                                         $result = mysql_query("   SELECT *   FROM `users`   WHERE `s-steamid` = '".mysql_real_escape_string($info->response->players[0]->steamid)."'");
  32.                                                 if (mysql_num_rows($result)) {
  33.                                                         #mysql_query(" UPDATE `users` SET `s-cvs`='".mysql_real_escape_string($info->response->players[0]->communityvisibilitystate)."',`s-personaname`='".mysql_real_escape_string($info->response->players[0]->personaname)."',`s-profileurl`='".mysql_real_escape_string($info->response->players[0]->profileurl)."',`s-avatar`='".mysql_real_escape_string($info->response->players[0]->avatar)."',`s-avatarm`='".mysql_real_escape_string($info->response->players[0]->avatarmedium)."',`s-avatarf`='".mysql_real_escape_string($info->response->players[0]->avatarfull)."'   WHERE `s-steamid` = ".mysql_real_escape_string($info->response->players[0]->steamid)."";
  34.  
  35.                                                 } else {
  36.                                                
  37.                                                 mysql_query(" INSERT INTO `users` (`s-steamid`,   `s-cvs`,   `s-profilestate`,   `s-personaname`,   `s-profileurl`,   `s-avatar`,   `s-avatarm`,   `s-avatarf`) VALUES (
  38.   '".mysql_real_escape_string($info->response->players[0]->steamid)."',
  39.   '".mysql_real_escape_string($info->response->players[0]->communityvisibilitystate)."',
  40.   '".mysql_real_escape_string($info->response->players[0]->profilestate)."',
  41.   '".mysql_real_escape_string($info->response->players[0]->personaname)."',
  42.   '".mysql_real_escape_string($info->response->players[0]->profileurl)."',
  43.   '".mysql_real_escape_string($info->response->players[0]->avatar)."',
  44.   '".mysql_real_escape_string($info->response->players[0]->avatarmedium)."',
  45.   '".mysql_real_escape_string($info->response->players[0]->avatarfull)."')");
  46.    }
  47.                        
  48.                         # Логиним для сессии
  49.                         $_SESSION['logined'] = true;
  50.                         # Имя залогиневшегося -- его Steam ID
  51.                         $_SESSION['login'] = mysql_real_escape_string($info->response->players[0]->steamid);
  52.                        
  53.                        
  54.                         }              
  55.                
  56.  
  57.     }
  58. } catch(ErrorException $e) {
  59.     echo $e->getMessage();
  60. }
  61.  
  62. if ($_GET['logout'] = 1) {
  63.         unset($_SESSION['logined'], $_SESSION['login']);
  64.         echo "Logged out.";
  65.         }
  66. ?>
 
 Top
Нуб-2
Отправлено: 22 Апреля, 2013 - 22:48:31
Post Id


Гость


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


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

[+]


Все, уже сам разобрался.
(Добавление)
С
PHP:
скопировать код в буфер обмена
  1. mysql_query(" UPDATE `users` SET `s-cvs`='".mysql_real_escape_string($info->response->players[0]->communityvisibilitystate)."',`s-personaname`='".mysql_real_escape_string($info->response->players[0]->personaname)."',`s-profileurl`='".mysql_real_escape_string($info->response->players[0]->profileurl)."',`s-avatar`='".mysql_real_escape_string($info->response->players[0]->avatar)."',`s-avatarm`='".mysql_real_escape_string($info->response->players[0]->avatarmedium)."',`s-avatarf`='".mysql_real_escape_string($info->response->players[0]->avatarfull)."'   WHERE `s-steamid` = ".mysql_real_escape_string($info->response->players[0]->steamid)."";

все правильно?
Смущает большое кол-во ковычек.
 
 Top
DelphinPRO
Отправлено: 22 Апреля, 2013 - 23:14:27
Post Id



Активный участник


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


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




можно слегка улучшить читаемость:
PHP:
скопировать код в буфер обмена
  1. $data = (array)$info->response->players[0];
  2. $data = array_map('mysql_real_escape_string', $data);
  3.         UPDATE `users`
  4.         SET
  5.                 `s-cvs`='".$data['communityvisibilitystate']."',
  6.                 `s-personaname`='".$data['personaname']."',
  7.                 `s-profileurl`='".$data['profileurl']."',
  8.                 `s-avatar`='".$data['avatar']."',
  9.                 `s-avatarm`='".$data['avatarmedium']."',
  10.                 `s-avatarf`='".$data['avatarfull']."'
  11.         WHERE
  12.                 `s-steamid` = ".$data['steamid'].""
  13. );

(Добавление)
или даже так
PHP:
скопировать код в буфер обмена
  1. $data = (array)$info->response->players[0];
  2. $data = array_map('mysql_real_escape_string', $data);
  3. extract($data);
  4.         UPDATE `users`
  5.         SET
  6.                 `s-cvs`='$communityvisibilitystate',
  7.                 `s-personaname`='$personaname',
  8.                 `s-profileurl`='$profileurl',
  9.                 `s-avatar`='$avatar',
  10.                 `s-avatarm`='$avatarmedium',
  11.                 `s-avatarf`='$avatarfull'
  12.         WHERE
  13.                 `s-steamid` = $steamid"
  14. );
  15.  


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Нуб-2
Отправлено: 22 Апреля, 2013 - 23:18:35
Post Id


Гость


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


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

[+]


DelphinPRO пишет:
можно слегка улучшить читаемость:
PHP:
скопировать код в буфер обмена
  1. $data = (array)$info->response->players[0];
  2. $data = array_map('mysql_real_escape_string', $data);
  3.         UPDATE `users`
  4.         SET
  5.                 `s-cvs`='".$data['communityvisibilitystate']."',
  6.                 `s-personaname`='".$data['personaname']."',
  7.                 `s-profileurl`='".$data['profileurl']."',
  8.                 `s-avatar`='".$data['avatar']."',
  9.                 `s-avatarm`='".$data['avatarmedium']."',
  10.                 `s-avatarf`='".$data['avatarfull']."'
  11.         WHERE
  12.                 `s-steamid` = ".$data['steamid'].""
  13. );

(Добавление)
или даже так
PHP:
скопировать код в буфер обмена
  1. $data = (array)$info->response->players[0];
  2. $data = array_map('mysql_real_escape_string', $data);
  3. extract($data);
  4.         UPDATE `users`
  5.         SET
  6.                 `s-cvs`='$communityvisibilitystate',
  7.                 `s-personaname`='$personaname',
  8.                 `s-profileurl`='$profileurl',
  9.                 `s-avatar`='$avatar',
  10.                 `s-avatarm`='$avatarmedium',
  11.                 `s-avatarf`='$avatarfull'
  12.         WHERE
  13.                 `s-steamid` = $steamid"
  14. );
  15.  

Понятно, а у меня были ошибки? Просто с моим кодом не работает.
(Добавление)
Да, мой вариант был с ошибками Огорчение
Спасибо вам огромное за помощь в течение 2 дней Радость
 
 Top
Нуб-2
Отправлено: 23 Апреля, 2013 - 10:07:28
Post Id


Гость


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


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

[+]


И, пожалуй, действительно последний вопрос по теме сессии, точнее относящийся к сессиям.
Как будет выглядеть конструкция, обратная этой? Т.е. проверка "если не залогинен"
PHP:
скопировать код в буфер обмена
  1. if (isset($_SESSION['logined']) && $_SESSION['logined'])
 
 Top
DelphinPRO
Отправлено: 23 Апреля, 2013 - 11:12:30
Post Id



Активный участник


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


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




PHP:
скопировать код в буфер обмена
  1. if (!isset($_SESSION['logined']) || !$_SESSION['logined'])


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Нуб-2
Отправлено: 23 Апреля, 2013 - 18:06:12
Post Id


Гость


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


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

[+]


DelphinPRO пишет:
PHP:
скопировать код в буфер обмена
  1. if (!isset($_SESSION['logined']) || !$_SESSION['logined'])

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB