PHP.SU

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

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

> Найдено сообщений: 43
arsen4ik Отправлено: 21 Декабря, 2012 - 11:56:54 • Тема: Как расшифровать JSON ВКонтакте? • Форум: Вопросы новичков

Ответов: 8
Просмотров: 614
Через print_r($obj); выводит массив
CODE (htmlphp):
скопировать код в буфер обмена
  1. stdClass Object ( [response] => Array ( [0] => stdClass Object ( [uid] => 1111111 [first_name] => Имя [last_name] => Фамилия) ) )

А как из него данные взять? Просто через echo $obj['last_name'] не получается
var_dump тоже возвращает массив
Есть подозрения что это из за самой структуры json
На примере в документации там один уровень вложенности как мне кажется, если судить по скобкам { }

А вконтакте получается как бы 2 уровня потому что скобки четыре {{ }}
CODE (htmlphp):
скопировать код в буфер обмена
  1. {"response":[{"uid":1111111,"first_name":"Имя","last_name":"Фамилия"}]}

Ну я на всякий случай сделал так
PHP:
скопировать код в буфер обмена
  1. print $obj->{'response'}->{'first_name'};

Но так тоже не работает
arsen4ik Отправлено: 21 Декабря, 2012 - 11:14:03 • Тема: Как расшифровать JSON ВКонтакте? • Форум: Вопросы новичков

Ответов: 8
Просмотров: 614
Помогите расшифровать данные с JSON, в оф. документации написано
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. $json = '{"foo-bar": 12345}';
  4. $obj = json_decode($json);
  5. print $obj->{'foo-bar'}; // 12345
  6. ?>
  7.  

Мне нужно расшифровать json который отдает ВКонтакте через OAuth
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. {"response":[{"uid":1111111,"first_name":"Имя","last_name":"Фамилия"}]}
  3.  

Делаю так исходя из примера в документации, например получить имя пользователя
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $json = file_get_contents('https://api.vk.com/method/users.get?uid=11111&access_token=токен'); // получаю данные {"response":[{"uid":1111111,"first_name":"Имя","last_name":"Фамилия"}]}
  3. $obj = json_decode($json);
  4. print $obj->{'first_name'};
  5. ?>

Но почему то не работает, кто сталкивался с такой проблемой помогите плиз
arsen4ik Отправлено: 19 Декабря, 2012 - 17:26:36 • Тема: Возможно ли такое? • Форум: HTTP и PHP

Ответов: 6
Просмотров: 1452
NoPaper пишет:
Можно, если получить соответствующий токен (1 раз, нужен логин и пароль), а потом запросами к api парсить сообщения

Я так и думал, прийдется делать через OAuth
arsen4ik Отправлено: 19 Декабря, 2012 - 11:34:46 • Тема: Возможно ли такое? • Форум: HTTP и PHP

Ответов: 6
Просмотров: 1452
Спасибо)
arsen4ik Отправлено: 19 Декабря, 2012 - 11:27:18 • Тема: Возможно ли такое? • Форум: HTTP и PHP

Ответов: 6
Просмотров: 1452
Возможно ли такое что средствами PHP? Например зашел пользователь на сайт и как посмотреть число его сообщений вконтакте, но без логина и пароля, то есть тупо сграбить или спарсить, просто число, сколько новых сообщений.
Или для этого нужно JS или надстройка для браузера?
Посоветуйте что нибудь пожалуйста
arsen4ik Отправлено: 19 Декабря, 2012 - 09:14:26 • Тема: Проблема с кодировкой сайта • Форум: Вопросы новичков

Ответов: 16
Просмотров: 527
вот на скриншоте выглядит так
http://s4[dot]hostingkartinok[dot]com/up[dot][dot][dot]715d624c8503[dot]png
arsen4ik Отправлено: 19 Декабря, 2012 - 05:57:59 • Тема: Проблема с кодировкой сайта • Форум: Вопросы новичков

Ответов: 16
Просмотров: 527
Надо нажать кодировка и посмотреть чтобы было UTF-8
Я не могу тебе точно сказать в чем там у тебя проблема, но по моему опыту скажу что столько с этой кодировкой намучался что мне кажется уже все про это знаю)))
Если кодировка выставлена у тебя в файле utf-8 и везде в тегах прописано то если все еще проблема сохраняется значет это дело в mysql, нужно посмотреть какая кодировка сейчас у записей в таблицах если она cp1251 то исправь на utf
arsen4ik Отправлено: 18 Декабря, 2012 - 21:28:42 • Тема: Проблема с кодировкой сайта • Форум: Вопросы новичков

Ответов: 16
Просмотров: 527
Вроде правильно, посмотри в какой кодировке сам файл через текстовый редактор
arsen4ik Отправлено: 18 Декабря, 2012 - 21:19:32 • Тема: Объясните плиз как работают функции • Форум: Вопросы новичков

Ответов: 5
Просмотров: 185
Так сделал, спасибо. Правда начал с примера по сложнее, сделал функцию которая если у браузера англ.язык переводит имя написанное на русском в транскрипт, передаю 2 аргумента
1) текст
2) язык
PHP:
скопировать код в буфер обмена
  1. function transcript($texts,$langs)
  2. {
  3. $transcript = array("а" => "a", "б" => "b", "в" => "v", "г" => "g", "д" => "d", "е" => "e", "ё" => "e", "ж" => "zh", "з" => "z", "и" => "i",
  4. "й" => "i", "к" => "k", "л" => "l","м" => "m", "н" => "n","о" => "o","п" => "p","р" => "r","с" => "s","т" => "t","у" => "u","ф" => "f",
  5. "х" => "h","ц" => "c","ч" => "ch","ш" => "sh","щ" => "shch","ь" => "'","ы" => "y","ъ" => "'","э" => "e","ю" => "u","я" => "ya","А" => "A",
  6. "Б" => "B", "В" => "V", "Г" => "G", "Д" => "D", "Е" => "E", "Ё" => "E", "Ж" => "ZH", "З" => "Z", "И" => "I", "Й" => "I", "К" => "K",
  7. "Л" => "L","М" => "M","Н" => "N","О" => "O","П" => "P","Р" => "R","С" => "S","Т" => "T","У" => "U","Ф" => "F","Х" => "H","Ц" => "C",
  8. "Ч" => "CH","Ш" => "SH","Щ" => "SHCH","Ь" => "'","Ы" => "Y","Ъ" => "'","Э" => "E","Ю" => "U","Я" => "YA");
  9.  
  10. if($langs == "rus")
  11. {
  12. $name = $texts;
  13. }
  14. else
  15. {
  16. $name = strtr($texts,$transcript);
  17. }
  18.  
  19. return $name;
  20. }
  21.  
  22.  


И вывожу
PHP:
скопировать код в буфер обмена
  1. <?
  2. echo transcript($usname,$lang);
  3. ?>
arsen4ik Отправлено: 18 Декабря, 2012 - 20:58:09 • Тема: Объясните плиз как работают функции • Форум: Вопросы новичков

Ответов: 5
Просмотров: 185
Toxa пишет:
ну правильно все выводится. Вы передаете в функцию переменную, которая нигде не определена и по-умолчанию равна нулю

Понял) Это из за того что сама переменная находится за пределами тела функции.
А если например нет возможности создавать переменную в пределах функции как тогда поступать? Можно ли её сделать глобальной?
(Добавление)
DelphinPRO пишет:
PHP:
скопировать код в буфер обмена
  1. $num = $_GET['num']; // определяем переменную $num. пусть в нее заносится 100
  2.  
  3. // здесь начинается определение функции
  4. function one($param) // у функции один обязательный параметр
  5. {
  6.     // локальная (внутренняя, не видна снаружи) переменная
  7.     $a = 100;
  8.     // к локальной переменной прибавляем то,
  9.     // что передали в функцию как параметр
  10.     $sum = $a + $param;
  11.     // возвращаем результат
  12.     return $sum;
  13. }
  14. // здесь заканчивается определение функции
  15.  
  16. // здесь мы вызываем нашу функцию
  17. // передавая ей параметром переменную, определенную вначле скрипта
  18. // напомню, что $num у нас для примера равно 100
  19. echo one($num); // внутри функции выполняются действия и выводится то что вернула функция.
  20. // в нашем случае число 200
  21.  


Вот спасибо, теперь я понял)
arsen4ik Отправлено: 18 Декабря, 2012 - 20:52:15 • Тема: Проблема с кодировкой сайта • Форум: Вопросы новичков

Ответов: 16
Просмотров: 527
А в какой кодировке твой сайт?
Просто может быть и не в базе проблемы
Чтобы нормально все отображалось, ну например в UTF, то нужно
1) чтобы в <head> была прописана нужная кодировка
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2) чтобы сам файл был в той же кодировке
3) и чтобы текст в базе был в той же кодировке и таже кодировка была указана после подключения к базе
mysql_query("SET NAMES utf8");
И тогда зуб даю 100% всё должно работать
arsen4ik Отправлено: 18 Декабря, 2012 - 20:42:34 • Тема: Проблема с кодировкой сайта • Форум: Вопросы новичков

Ответов: 16
Просмотров: 527
Переводи кодировку в базе на utf_general_ci и сразу после подключения к базе напиши

(только сделай дамп базы на всякий случай)
arsen4ik Отправлено: 18 Декабря, 2012 - 20:31:00 • Тема: Объясните плиз как работают функции • Форум: Вопросы новичков

Ответов: 5
Просмотров: 185
Здравствуйте!
Предлагаю сжеч на костре всех тех кто пишет тех.документации так как учить по ним нереально.
Например даже на этом сайте, в документации по функциям написано вот что
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. function first_function() {
  3.  echo "<h4>Первая пользовательская функция</h4>";
  4.    function second_function() {
  5.     echo "<h5>Вторая пользовательская функция</h5>";
  6.    }
  7. }
  8. first_function();
  9. second_function();
  10. ?>

Вопрос -- зачем здесь теги <h4>,<h5>? Я что учу HTML? И вот такой мусор мешает усваивать нужный мне материал. Ну а дальше больше и я понял что это маразм и не стал дальше обучатся.
Поэтому прошу помочь мне и объяснить как же работает функция на самом простейшем примере. В частности меня интересует работа с аргументами, как указать аргументы я знаю, а вот как потом обработаные в теле функции аргументы вывести?
Например делаю так
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2. $num = $_GET['num'];
  3.  
  4. function one($num)
  5. {
  6. $a = 100;
  7. $sum = $a + $num;
  8. return $sum;
  9. }
  10.  
  11. echo one($sum);
  12. ?>

В переменной $num содержится число 5 переданное через метод GET но выводится почему то 100 вместо 105.
Скажите что делаю не так, и если можете покажите на примере как это правильно делать.
Заранее спасибо

Страниц (3): « 1 2 [3]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB