Правильный синтаксис, чтобы сделать поле формы индекса типа закрепленным в переполнении стека

Я должен включить некоторые поля типа type = index в функцию, например. имя Фамилия. Форма использует отдельную страницу handle.php. Я не могу понять, как сделать его липким (сохранить последнее введенное значение, если я обновлю страницу). Потому что я обновляю страницу обратно в форму, если есть ошибки ввода, и хочу увидеть последние записи полей ввода сохранены. Я пробовал $ _SESSION [‘fname’] и $ _POST [‘fname’]. Ни то, ни другое не работает …

Это без липкого

echo "<tr><td>First Name:<input type='text' name='fname' value=''></td>";

Это то, что я думаю, работает, если еще не в блоке php

<td>First Name:<input type='text' name='fname' placeholder='First Name' value="<?php if(isset($_SESSION['fname'])) echo ;?>" ></td>

-1

Решение

Вы близки!

В вашем примере отсутствует аргумент для echo. Попробуй это:

<?php if(isset($_SESSION['fname'])) echo $_SESSION['fname'];?>

Однако по умолчанию форма никогда не будет отправлена ​​в $ _SESSION.

если у вас есть <form action='handle.php' method='get'> ваши переменные будут в суперглобальном выражении $ _GET, и если у вас есть метод = post, они доступны в $ _POST, т. е. `$ _POST [‘fname’]

Вы должны вручную поместить вещи в сессию, т.е.

$_SESSION['fname'] = $_POST['fname'] (мы просто скопировали значение post fname в сессию)

Обычно для чего-то вроде проверки формы лучше использовать $ _REQUEST, $ _POST или $ _GET вместо помещения переменных в $ _SESSION. $ _SESSION переполнен, так как он запоминает все, и проверку формы обычно не нужно запоминать для более чем 1 запроса.

Переменные $ _POST не будут запомнены, если вы обновите страницу с помощью браузера. Переменная $ _POST будет только отправил если ты сообщение Форма (отправить ее) на сервер. Если вы пытаетесь запомнить их для обновления браузера, вам придется вручную скопировать переменную в сеанс, как в примере выше.

Если вы просто хотите получить доступ к своим переменным на следующей странице, они будут доступны в суперглобальных значениях $ _POST или $ _GET, в зависимости от вашей формы.

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]