Как проверить была ли отправлена форма в php?

Пользователь

от ransom_homenick , в категории: PHP , 2 года назад

Как проверить была ли отправлена форма в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 2 года назад

@ransom_homenick  Вы можете проверить Request method через $_SERVER['REQUEST_METHOD'] или/и также можете посмотреть в $_POST глобальном массиве name кнопки отправки формы, ниже пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<form action="" method="POST">
    <label for="username">Имя пользователя:</label>
    <input type="text" id="username" name="usernmae"/>
    <input type="submit" name="submit" value="Submit"/>
</form>

<?php

// Проверить что была отправлена форма
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['submit'])) {
    echo "Форма отправлена";
}


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от ally , год назад

@ransom_homenick 

Для проверки, была ли отправлена форма в PHP, можно использовать переменную $_SERVER['REQUEST_METHOD']. Эта переменная содержит тип HTTP-запроса, который был отправлен на сервер.


Если форма была отправлена методом "POST", то переменная будет содержать значение "POST":

1
2
3
4
5
6
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // форма была отправлена методом POST
    // выполнить обработку данных
} else {
    // форма не была отправлена методом POST, например, пользователь просто зашел на страницу
}


Если же форма была отправлена методом "GET", то переменная будет содержать значение "GET":

1
2
3
4
5
6
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    // форма была отправлена методом GET
    // выполнить обработку данных
} else {
    // форма не была отправлена методом GET
}


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