За последние 24 часа нас посетили 18733 программиста и 1702 робота. Сейчас ищут 853 программиста ...

PHP JSON

Тема в разделе "PHP и базы данных", создана пользователем aleksander_2005, 17 авг 2015.

  1. aleksander_2005

    aleksander_2005 Новичок

    С нами с:
    17 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Привет всем профи !
    Есть такая штука http://linotp.org/doc/2.7/part-management/smsprovider.html
    Как сделать скрипт , который принимал бы JSON например http://127.0.0.1/resive.php и записывал бы данные в mysql таблицу.
    Покажите пример , хоть бы как принять правильно данные в переменные. Чтоб потом сделать соединение БД и записать туда все что нужно.

    СПС
     
  2. aleksander_2005

    aleksander_2005 Новичок

    С нами с:
    17 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Если не сильно сложно , приведите пример. Хоть как получить параметры , дальше думаю с SQL разберусь.
    Мне именно не понятно , как получить параметры.
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Уточни, сервер будет отсылать параметры на твой скрипт или ты должен отправить данные на сервер?
     
  4. aleksander_2005

    aleksander_2005 Новичок

    С нами с:
    17 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    сервер отправляет параметры , то есть параметры будут отправляться на скрипт вида http://127.0.0.1/getvalue а вот дальше и планировалось их обрабатывать в getvalue и запихивать в mysql
     
  5. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    По той ссылке что ты дал, я не вижу getvalue.
    Думаю что данные будут приходить в переменную $_POST.

    Код (PHP):
    1. <?php 
    2. if(isset($_POST) && count($_POST)>0)
    3. {
    4. //$_POST - тут будут данные, это массив/array ссылку как с ним работать дал выше
    5. } 
     
  6. aleksander_2005

    aleksander_2005 Новичок

    С нами с:
    17 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    спс , буду читать пробовать

    Добавлено спустя 1 минуту 19 секунд:
    а для тестирования , можно как-то высе выводить в файл ... ну чтоб смотреть правильность передачи парсинга ?
    Echo "$_POST">> txt не канает ?
     
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    denis01, true
     
  9. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    denis01, ты true забыл. var_export напечатает результат в stdout вместо возврата как результат выполнения функции.
     
  10. aleksander_2005

    aleksander_2005 Новичок

    С нами с:
    17 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Код (PHP):
    1. <?php 
    2. if(isset($_POST) && count($_POST)>0)
    3. {
    4. file_put_contents("log.txt", var_export($_POST),true); 
    5. }  
    Так будет ?

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а вы пробовали?
     
  12. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Код (PHP):
    1. <?php
    2. if (!empty($_POST)) {
    3.     file_put_contents( 'log.txt',
    4.         str_repeat('-', 30) . "\n" . print_r($_POST, true),
    5.         FILE_APPEND
    6.     );
    7. }
    8. ?>
    Если необходимо, то Вы можете заменить функцию print_r на функцию var_export.
     
  13. aleksander_2005

    aleksander_2005 Новичок

    С нами с:
    17 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Добрый день еще раз.
    Более менее собрал скрипт, с файла если указывать .. что-то более менее пишет еще. Но вот как только пробую получить GET то не чего не пишет. Строка которая подается на скрипт http://127.0.0.1/getvalue в Apache строка выглядит как "GET /getvalue?to=2348923749872394&text=340820943820349 HTTP/1.1" 200
    Масив выглядит так
    Код (PHP):
    1. (
    2.     [to] => 2348923749872394
    3.     [text] => 340820943820349 
    4. )
    5.  
    код кривоват( в пхп как 5 часов ) но выглядит так
    Код (PHP):
    1. <?php
    2.  $con = mysql_connect('127.0.0.1',"HZ","HZZZZZZZ","") or die('Could not connect: ' . mysql_error());
    3.     mysql_select_db("HZ", $con);
    4. $json_obj = file_put_contents($_GET);
    5. $data = json_decode($json_obj, true);
    6. if (is_array($data)) {
    7. foreach ($data as $row) {
    8. $unit = $row['to'];
    9. $day = $row['text'];
    10. $sql="INSERT INTO Send (1, 2) VALUES ( '$unit', '$day')";
    11. if(!mysql_query($sql,$con)) 
    12. {
    13.      die('Error : ' . mysql_error());
    14. }
    15. }
    16. }
    17. ?>
    Что поковырять , у меня полные ощущения что $json_obj не получает не чего. ну или с цыклом явно наковырял

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  14. aleksander_2005

    aleksander_2005 Новичок

    С нами с:
    17 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Решил банальным кодом
    $a=$_GET['to'];
    $b=$_GET['text'];

    после вставка SQL