php обработчик post-запросов



  • В названии темы собственно и весь вопрос.
    С php пытаюсь подружиться, но пока с переменным успехом. Дайте пример кода приёма post-запросов. Или сайты где это хорошо разжёвано. От простого гугла у меня уже голова болит..



  • @Fox Что-то вроде такого, нет?

    <?php
    echo 'Data = ' . htmlspecialchars($_POST["data"]);
    ?>
    


  • @support Да :) я пробовал, но он выдавал ошибку.

    <?php
    echo $_POST['username'];
    ?>
    

    Только и ваш код выдаёт ошибку. Либо я не правильно отправляю post-запрос.
    0_1496302903117_forum11.png
    Ошибка

    Notice: Undefined index: data in C:\xampp\htdocs\test\test.php on line 2
    Data =
    

    Может в самом Xampp надо что то настраивать для post-запросов?



  • Попробовал найденный код

    <?php
    if (isset($_POST["username"]))
    {
      $user = $_POST["username"];
      echo $user;
      echo " is your username";
    } 
    else 
    {
      $user = null;
      echo "no username supplied";
    }
    ?> 
    

    Судя по описанию, "Undefined index" было из за отсутствия объявления переменной. Но этот код выдаёт "no username supplied" всё время. И без разницы куда я отправляю post-запрос "username","1111", на localhost, http://localhost/, http://localhost/test/test.php



  • @Fox said in php обработчик post-запросов:

    Попробовал найденный код

    <?php
    if (isset($_POST["username"]))
    {
      $user = $_POST["username"];
      echo $user;
      echo " is your username";
    } 
    else 
    {
      $user = null;
      echo "no username supplied";
    }
    ?> 
    

    Судя по описанию, "Undefined index" было из за отсутствия объявления переменной. Но этот код выдаёт "no username supplied" всё время. И без разницы куда я отправляю post-запрос "username","1111", на localhost, http://localhost/, http://localhost/test/test.php

    Скорей всего дело в Xampp, я только что проверил твой кусок кода, все ok. Правда я использую open server.



  • @Fox Я не знаю, что у вас, у меня работает. Вот видео.

    https://www.youtube.com/watch?v=U0MgfZyzMfE&feature=youtu.be



  • @support Похоже я просто неправильно понял принцип post-запросов. В логе BAS пишет всё верно

    [14:10:26] Поток №1 : 1111 is your username array(1) { ["username"]=> string(4) "1111" } 
    

    А если зайти в браузере на http://localhost/test/test.php то выдаст ошибку..

    no username supplied array(0) { }
    

    Я думал можно post-запросами данные сохранять на сервере вот так, сразу :)



  • @Fox Браузер делает гет запрос.



  • @Fox said in php обработчик post-запросов:

    А если зайти в браузере на http://localhost/test/test.php то выдаст ошибку..
    no username supplied array(0) { }

    Просто интересно, а что ожидаете увидеть, откуда сервер может знать, какой username вы передали?



  • @support Я думал что глобальная переменная $_POST, по аналогии с BAS, распростроняется на весь apache. И методом post-запрос я устанавливаю значение этой переменной.. Как то так думал :D



  • @Fox )Нет $_POST только для текущего запроса



  • @Fox said in php обработчик post-запросов:

    @support Я думал что глобальная переменная $_POST, по аналогии с BAS, распростроняется на весь apache. И методом post-запрос я устанавливаю значение этой переменной.. Как то так думал :D

    Переменные в php живут только в рамках работы скрипта. Ты послал серверу запрос. Скрипт обработал его, запустился, отработал и отдал тебе ответ. Соответственно, все переменные были убиты в оперативной памяти и их длительно хранение возможно либо в базе, либо в куках пользователя =)
    Ты лучше опиши свою задачу. Может будет понятнее.



  • @xclsv

    Ты лучше опиши свою задачу. Может будет понятнее.

    Да мне нужна админка, я писал в соседней теме. Но тут только два выхода, либо BAS сохраняет данные на винт, либо обработчик на php.. С BAS'ом я больше дружу, чем с php, по этому так и организовал :D


Log in to reply