Передача данных из html в php без запроса пользователя на заполнение формы

0

Я новичок в html/php, так жаль нового вопроса. У меня есть первая страница HTML с 2 текстовыми полями в форме. Нажимая кнопку в конце формы, я перехожу на страницу PHP, в которой я получаю данные таким образом

$id = $_REQUEST['id'];
$password = $_REQUEST['password'];

и все это хорошо. Во всяком случае в этом PHP я встроил некоторый код HTML с помощью кнопки

<input type="button" id="fbutton" value="Go Further" onClick="location.href='anotherPage.php'"> <br>

что приведет к другой странице PHP. Проблема в том, что мне нужно передать эту последнюю "новую" страницу (anotherPage.php) $ id, потому что я буду использовать ее как условие (sql WHERE) для запроса. Но я не мог найти, как передать эту переменную $ id. Я мог бы использовать форму, но как я могу это сделать без "печати" чего-либо на экране?

  • 2
    добавьте <input type = "hidden" name = "id" value = "<? php echo $ _REQUEST ['id'];?>"> на вашей странице PHP, которая будет молча передавать переменную
  • 0
    Должен ли я поместить его в форму и получить значение на новой странице PHP, как я делал раньше с кодом выше?
Показать ещё 6 комментариев
Теги:
forms

1 ответ

1

Прежде всего вам нужно понять разницу между запросами GET и POST.

Самый простой способ передать данные в PHP - использовать переменные GET. Они добавляются к URL-адресу в виде? Key = value & otherKey = otherValue

Это хорошо для некоторых вещей, таких как идентификатор сообщения, которое страница предназначена для отображения. Для данных, которые отправляются (отправляются), а не используются для идентификации ресурса, который вы запрашиваете (получения), вам нужно использовать POST, поскольку это не будет отображаться в URL-адресе.

У вас есть только формы и запросы AJAX, которые могут отправлять данные POST.

Если вы хотите опубликовать данные, ваш самый простой способ - использовать форму. Если вы не хотите отображать поля формы на своей странице, вы можете с радостью создать <form> и включить скрытые входы формы, которые не будут отображаться в браузере, но могут содержать данные, которые могут быть переданы в PHP.

ОДНАКО

Есть некоторые основные вещи безопасности, о которых вам нужно знать.

Во-первых, POST может казаться более безопасным, чем GET. Это не так. Подделка почтовых данных очень проста, поэтому вы не можете полагаться на это, чтобы быть чистым.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню