Помощь по программе PHP - PullRequest
       35

Помощь по программе PHP

0 голосов
/ 24 декабря 2009

Может кто-нибудь сказать, что происходит в этой программе? Одно из моих главных сомнений касается первого условия, откуда мы получим метод для REQUEST_METHOD. Я имею в виду, что программа находится в первом цикле if, поэтому REQUEST_METHOD == GET, но где мы его устанавливаем.

<html>
<head><title>Temperature Conversion</title></head>
<body>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'GET') 
{
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
Fahrenheit temperature:
<input type="text" name="fahrenheit" /> <br />
<input type="submit" name="Convert to Celsius!" />
</form>
<?php
} 
elseif ($_SERVER['REQUEST_METHOD'] == 'POST') 
{
    $fahr = $_POST['fahrenheit'];
    $celsius = ($fahr - 32) * 5/9;
    printf("%.2fF is %.2fC", $fahr, $celsius);
} 
else 
{
    die("This script only works with GET and POST requests.");
}
?>
</body>
</html>

Еще раз я просто говорю спасибо

Ответы [ 7 ]

1 голос
/ 24 декабря 2009

ГНГ? (Отредактировано: из цитаты вопроса: я имею в виду, что программа gng в 1-м ..)

REQUEST_METHOD будет GET, если вы войдете на страницу по URL.

Когда вы отправляете форму, метод состояния метода формы = POST, поэтому, отправляя самому себе, REQUEST_METHOD будет POST.

0 голосов
/ 24 декабря 2009

Хорошо. Итак, поскольку я видел только одного человека, который вышел и сказал это, я думаю, мне придется:

$_SERVER, $_POST, $_GET и большинство других переменных, начинающихся с $_, называются «предопределенными переменными» или «суперглобальными». Это переменные, которые устанавливаются сервером и могут быть доступны в любом контексте. Они хранят информацию, основанную на времени выполнения сервера, запросе и т. Д.

$_SERVER['REQUEST_METHOD'] определяет метод, который пользователь получил на вашей странице. Есть такие группы, как HEAD, GET, POST, DELETE, и я верю еще нескольким. У каждого из них есть определенная цель, определенная интернет-стандартами HTTP. GET оказывается наиболее часто используемым методом запроса, поскольку он используется для простого получения страницы. Если вы не отправили форму, скорее всего, именно этот метод вы используете.

Что делает ваша страница, так это проверяет, регулярно ли пользователь просматривает страницу, и, если это так, выдает им форму. Когда вы нажимаете кнопку отправки в форме, вы меняете метод запроса на POST для следующей страницы, что означает, что вы предоставляете какую-то информацию серверу, в данном случае это данные, которые находятся в полях формы.

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

Обычно большинство людей просто проверяют, есть ли какие-либо данные, содержащиеся в $_POST, чтобы определить, была ли отправлена ​​форма, но этот метод также работает.

0 голосов
/ 24 декабря 2009

GET и POST - это http-глагол, используемый для доступа к странице. Обычно мы используем POST для отправки пользовательских данных обратно на сервер и используем GET для получения данных с сервера. Поэтому запрос на index.html - это запрос GET, но POST-размещение данных в форме комментария, отправка данных обратно на сервер использует POST.

Это один из способов использования только одного файла для обработки формы в php. Когда человек впервые получит доступ к форме, он будет использовать GET. Но когда пользователь отправляет данные и нажимает кнопку «Отправить», он отправляет данные пользователя обратно в POST. Таким образом, первое условие if == 'GET'.

Попробуйте эту ссылку , чтобы узнать больше о GET и POST

0 голосов
/ 24 декабря 2009

Эта программа обрабатывает HTTP-запрос. Массив $ _SERVER автоматически устанавливается со значениями.

$ _ SERVER ['REQUEST_METHOD'] будет равно 'GET', если кто-то просто заходит на страницу в браузере.

Будет равно 'POST', если они попадут на страницу после отправки формы.

0 голосов
/ 24 декабря 2009

Метод запроса относится к методу, используемому для «запроса» страницы браузером.

Если доступ к странице осуществляется просто путем перехода по URL-адресу, используется метод GET. Следовательно, если страница, которую вы перечисляете, просто просматривается в вашем браузере, REQUEST_METHOD == GET, и на странице отображается форма.

Метод запроса POST обычно используется при доступе к странице через отправку формы. Таким образом, как только пользователь заполняет форму на вашей странице и отправляет ее, он возвращается на ту же страницу, но с помощью метода запроса POST. Затем на странице отображается информация, основанная на отправке формы.

См. Методы запроса в Википедии для получения дополнительной информации о методах запроса. См. PHP документацию по $ SERVER для получения дополнительной информации о серверных переменных.

0 голосов
/ 24 декабря 2009

Его устанавливают по оригинальному запросу. Сервер заполняет эту информацию (например, $ _SERVER) для вас, чтобы у вас был доступ к данным запроса и сервера изнутри PHP. Если запрос приходит через HTTP GET, значение GET. Если это POST, значение POST и т. Д.

0 голосов
/ 24 декабря 2009

Это странный метод использования одного и того же php-файла для отображения и обработки почтовых запросов.

  1. Разработчик предполагает первый проход страницы будет запрос "GET" для страницы
  2. Тогда кто-то заполняет форму и сообщения обратно в тот же файл PHP где значение обрабатывается и температура распечатывается до экран
  3. Это также ловит, если кто-то делает другой тип вызова на страницу, например, запрос «голова».
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...