PHP, передающий несколько переменных на нескольких страницах

Мой сайт включает пользователя, представляющего данные на нескольких страницах форм. Я могу передать данные, представленные на одной странице, прямо на следующую страницу, но как я могу отправить их на страницы после этого? Вот очень упрощенная версия того, что я делаю.

Страница 1:

<?php echo "<form action='page2.php' method='post'> Please enter your name: <input type='text' name='Name'/> <input type='submit' value='Submit'/></form>"; ?> 

Страница 2:

 <?php $name=$_POST["Name"]; echo "Hello $name!<br/> <form action='page3.php' method='post'> Please enter your request: <input type='text' name='Req'/> <input type='submit' value='Submit'/></form>"; ?> 

Страница 3:

 <?php echo "Thank you for your request, $name!"; ?> 

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

Использовать сеансы:

session_start(); на каждой странице

 $_SESSION['name'] = $_POST['name']; 

то на стр. 3 вы можете эхо $_SESSION['name']

Вы можете хранить данные в файле cookie на клиенте пользователя, который абстрагируется от концепции сеанса . См. Управление сеансом PHP .

Как упоминалось другими, сохранение данных на СЕССИИ, вероятно, будет вашим лучшим выбором.

В качестве альтернативы вы можете добавить данные в скрытое поле, чтобы опубликовать их:

страница 2:

  <input type="hidden" name="username" value="<?php echo $name;?>"/> 

page3

 echo "hello $_POST['username'}; 

Вы можете создавать сеансы и использовать сообщения. Вы также можете использовать $ _GET для получения переменных из URL.

Помните, что если вы не используете подготовленные инструкции, убедитесь, что вы избегаете ввода всех пользователей …

если вы не хотите куки или сеансы: используйте скрытое поле ввода на второй странице и инициализируйте переменную, разместив ее так:

 page2---- $name=$_POST['name']; /// from page one <form method="post" action="page3.php"> <input type="text" name="req"> <input type="hidden" name="holdname" value="<? echo "$name"?>"> ////////you can start by making the field visible and see if it holds the value </form> page3---- $name=$_POST['holdname']; ////post the form in page 2 $req=$_POST['req']; ///// and the other field echo "$name, Your name was successfully passed through 3 pages"; 

Используйте переменную SESSION или скрытое поле ввода