• Почему в моем коде портится содержимое переменных?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Проблема в переменной file_name, а в не функции. Судя по адресу, она на стеке. Причем на месте где-то в середине лакальной переменной buffer.

    Это значит, что вы из какой-то функции раньше вернули указатель на локальную переменную и получили висячий указатель.
    Ответ написан
    1 комментарий
  • Как вывести данные из json на экран?

    Compolomus
    @Compolomus Куратор тега PHP
    Комполом-быдлокодер
    if(isset($_POST['name']) && isset($_POST['number'])) {
        file_put_contents('data.dat', $_POST['name'] . '|||' . $_POST['number'] . PHP_EOL, FILE_APPEND | LOCK_EX);
    }
    
    $data = file('data.dat', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    
    foreach ($data as $line) {
        $td = explode('|||', $line);
        echo '<tr><td>' . $td[0]. '</td><td>' . $td[1]. '</td></tr>';
    }
    Ответ написан
    Комментировать
  • Как вывести данные из json на экран?

    nefone
    @nefone
    Junior PHP разработчик
    Правильный ли формат для json, что я сохраняю?

    Нет, в JSON должна быть одна пара открывающейся "{" и закрывающейся "}" скобки.

    Или мне как то надо переделать?(если переделать, то как)

    Да, набудет переделать, как то так:
    <?php
    $arr = ['name' => $_POST['name'], 'number' => $_POST['number']];
    
    //читаем данные из файла
    $r_json = file_get_contents("data.json");
    $arr_json = json_decode($r_json, true);
    
    //склеить данные из файла и теми что получили из формы
    $result = array_merge($arr_json, $arr);
    
    //сохраняем данные в файл
    $fp = fopen('data.json', 'a');
    fwrite($fp, $json_data);
    fclose($fp);


    И вообще лучше сделать сохранение в базу данных и потом на странице отдавать чисто JSON, с помощью задания HTTP заголовков:
    header("Content-type: application/json; charset=utf-8");
    Ответ написан
    2 комментария