Какова цель $ _POST? - PullRequest
1 голос
/ 24 июня 2009

Я знаю, что это глобальная переменная php, но я не уверен, что она делает? Я тоже читал с официального сайта php, но не понял.

Ответы [ 11 ]

5 голосов
/ 24 июня 2009

Возможно, вы захотите ознакомиться с основами PHP. Попробуйте прочитать некоторые уроки для начинающих.

$_POST - это переменная, используемая для сбора данных, отправляемых через веб-форму.

Вот простая страница, описывающая $_POST и как ее использовать из W3Schools: Функция PHP $ _POST

В основном:

Используйте HTML-код на первой странице:

<form action="submit.php" method="post">
  Email: <input type="text" name="emailaddress" /> <input type="submit" value="Subscribe" />
</form>

Затем на submit.php используйте что-то вроде этого:

<?
  echo "You subscribed with the email address:";
  echo $_POST['emailaddress'];
?>
4 голосов
/ 24 июня 2009

Обычно существует два способа отправки HTTP-запроса на сервер:

  • GET
  • POST

Скажем, у вас есть на странице.

<form method="post">
  <input type="text" name="yourName" />
  <input type="submit" />
</form>

Обратите внимание, что атрибут "method" формы имеет значение "post". Поэтому в сценарии PHP, который получает этот HTTP-запрос, $ _POST ['yourName'] будет иметь значение при отправке этой формы.

Если вы использовали метод GET в вашей форме:

<form method="get">
  <input type="text" name="yourName" />
  <input type="submit" />
</form>

Тогда $ _GET ['yourName'] будет иметь значение, отправленное формой.

$ _ REQUEST ['yourName'] содержит все переменные, которые были опубликованы, независимо от того, были ли они отправлены GET или POST.

1 голос
/ 24 июня 2009

Существует два способа отправки данных из формы в веб-приложение: GET и POST.

GET отправляет данные как часть строки URL: http://www.example.com/get.html?fred=1&sam=2 является примером того, как это будет выглядеть. Есть некоторые проблемы с использованием его для всей обработки, одной из самых больших является то, что каждый браузер имеет различную максимальную длину для строки запроса, поэтому ваши данные могут быть усечены.

POST отправляет их отдельно от URL. Вы избегаете ограничения по короткой длине, а также можете отправлять двоичные или зашифрованные данные с помощью POST.

В первом примере выше, PHP может получить значения, отправленные $ _GET ['fred'] и $ _GET ['sam']. Вместо этого вы должны использовать $ _POST, если форма была отправлена.

Если вам интересно, какой метод следует использовать, начинайте здесь

1 голос
/ 24 июня 2009

Как определено спецификациями протокола передачи гипертекста , существует несколько типов запросов, которые клиент (веб-браузер) может сделать к ресурсу (веб-серверу).

Двумя наиболее распространенными типами веб-запросов являются GET и POST. PHP автоматически загружает любые данные запроса клиента в глобальные массивы $_GET и $_POST в зависимости от типа полученного веб-запроса. Тип запроса прозрачен для пользователя веб-браузера и просто основан на том, что происходит на странице. В целом, однако, любая обычная ссылка, по которой вы щелкаете, создает запрос GET, а любая отправляемая вами форма - как запрос POST.

Если вы нажмете на ссылку, которая ведет к «http://example.com/index.php?x=123&y=789",», тогда у index.php будет массив $_GET, заполненный $_GET['x'] = '123' и $_GET['y'] = '789'.

Если вы отправляете форму, которая имеет следующую структуру:

<form action="http://example.com/index.php" method="post">
<input type="text" name="x">
</form>

Тогда получающий скрипт index.php будет иметь массив $_POST, заполненный $_POST['x'] = 'whatever you typed into the textbox named x';

1 голос
/ 24 июня 2009

Когда данные отправляются через форму на сервер, вы получаете доступ к ним через массив $ _POST:

<form method="post">
  <p><input type="text" name="firstname" /></p>
  <p><input type="submit" /></p>
</form>

-

<?php

  if ($_POST)
    print $_POST["name"];

?>

Не все данные отправляются через $ _POST через. Загрузка файлов осуществляется через $ _FILES.

1 голос
/ 24 июня 2009

Содержит данные, представленные с помощью метода POST, и только метод POST по сравнению с данными, представленными с помощью метода GET. Суперглобальная переменная $ _REQUEST содержит данные как $ _POST, так и $ _GET.

1 голос
/ 24 июня 2009

Содержит данные, отправленные по почте HTTP, чаще всего из HTML-формы.

<form action="page.php" method="post">
<input type="text" name="email" ...>
...
</form>

Будет доступно по

$_POST["email"]
1 голос
/ 24 июня 2009

Вы можете фиксировать значения записей из форм:

Пример:

<form method="POST">
    <input type="text" name="txtName" value="Test" />
</form>

Чтобы получить это, вы будете использовать:

$_POST["txtName"];
1 голос
/ 24 июня 2009

$ _ POST используется для получения значений, переданных на вашу страницу через запрос POST.

Например, ваша страница использует форму для передачи данных на другую страницу в вашем приложении. Ваша форма будет иметь

<form method="post"> 

для передачи этих значений через POST.

Это соответствует $ _GET, которые выполняют ту же функцию для запросов GET.

Если вы хотите ссылаться на значения GET / POST, вы можете использовать $ _REQUEST

1 голос
/ 24 июня 2009

Используется для хранения ввода CGI через POST, отправленный на вашу страницу.

Пример:


Your page contains:

<form action="welcome.php" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form> 


One the user submits the values input into the form, you can access those variables through $_POST using the names you provided for the input tags.

Welcome <?php echo $_POST["fname"]; ?>!<br />
You are <?php echo $_POST["age"]; ?> years old.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...