Я новичок в 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. Я мог бы использовать форму, но как я могу это сделать без "печати" чего-либо на экране?
Прежде всего вам нужно понять разницу между запросами GET и POST.
Самый простой способ передать данные в PHP - использовать переменные GET. Они добавляются к URL-адресу в виде? Key = value & otherKey = otherValue
Это хорошо для некоторых вещей, таких как идентификатор сообщения, которое страница предназначена для отображения. Для данных, которые отправляются (отправляются), а не используются для идентификации ресурса, который вы запрашиваете (получения), вам нужно использовать POST, поскольку это не будет отображаться в URL-адресе.
У вас есть только формы и запросы AJAX, которые могут отправлять данные POST.
Если вы хотите опубликовать данные, ваш самый простой способ - использовать форму. Если вы не хотите отображать поля формы на своей странице, вы можете с радостью создать <form>
и включить скрытые входы формы, которые не будут отображаться в браузере, но могут содержать данные, которые могут быть переданы в PHP.
ОДНАКО
Есть некоторые основные вещи безопасности, о которых вам нужно знать.
Во-первых, POST может казаться более безопасным, чем GET. Это не так. Подделка почтовых данных очень проста, поэтому вы не можете полагаться на это, чтобы быть чистым.
Во-вторых, если вы используете эти опубликованные переменные в запросах базы данных, вам нужно убедиться, что вы используете правильные экранирующие или идеально подготовленные инструкции, чтобы избежать инъекции SQL.