2015-04-07 3 views
0

Так что я спрашиваю, какие параметры у меня есть, кроме перенаправления переменных GET, когда я пытаюсь повторно заполнить форму?

Я думаю, что могу создать переменную сеанса и использовать это также. Правильно ли, что это ТОЛЬКО 2 способа?

То, что я сейчас:

if (count($m) > 0) {  
// there is an error in fields filled out so we are sending user back to  form. 
$_SESSION["myarray"] = $m; 
header("location: ./edit.php?datefield=".$datefield."&text=".$entry."&flag=".$flag);  
} 

, но это показывает мою переменную для пользователя. Я хочу избежать этого.

ОБНОВЛЕНИЕ Я переформулировал свой вопрос и код, чтобы быть более четким. Мне также понравилось, что решение для меня состояло в том, чтобы использовать include ('edit-error.php'). Это в основном исходный файл edit.php со всем, что вычеркнуто, но код, необходимый для создания формы, и я заполнил файл edit-error.php необходимыми переменными. Раньше у меня никогда не было этого в моем ящике инструментов, поэтому я благодарен пользователю, который предложил его.

+2

так много способов. но зачем перенаправлять, когда вы можете просто включить представление и предварительно заполнить данные в нем? –

+0

@ pala_4 Я не понимаю, что вы подразумеваете под «просто включить представление и предварительно заполнить». Кажется, я должен перенаправить BACK на страницу с формой, чтобы сделать это правильно? Есть ли пример этого метода, о котором вы говорите? –

+1

вы можете 'include ('edit.php')' и внутри edit.php вы можете искать переменные, которые вы установили, чтобы указать, что есть ошибки, а также предварительно заполнить значения форм теми, которые уже были введены. вместо перенаправления –

ответ

1

Один из способов, который вы можете рассмотреть для скрытия информации (не полностью, но более сильной, чем GET) пользователя, создает JSON с вашей информацией и отправляет запрос POST на вашу страницу.

Лично я по-прежнему предпочитаю сеансы, но есть и другие способы.

0

Решение, которое я использовал, было предоставлено моему пользователю pala_, поэтому спасибо pala_ Я проголосовал за ваш комментарий.

Я использовал include ('edit-error.php'). Это в основном исходный файл edit.php со всем, что вычеркнуто, но код, необходимый для создания формы, и я заполнил форму edit-error.php с необходимыми переменными. Раньше у меня никогда не было этого в моем ящике инструментов, поэтому я благодарен pala_, который предложил его.

Это позволяет мне проводить проверку на стороне сервера и повторно отображать форму с помощью пользовательского ввода, чтобы они могли повторно отправить. Я использовал заголовок (Location) с параметрами для отправки как GET, и я этого не хотел. Использование include() - идеальное решение для меня.

Смежные вопросы