код для запоминания пользовательского ввода в форме при переходе на одну страницу назад, при использовании переменных сеанса в php

#php #html #session-variables

#php #HTML #переменные сеанса

Вопрос:

 <?php
  $_SESSION['regName'] = $regValue;
?>

<form method="get" action="get_reg.php onsubmit="returnvalidateForm()" name="myForm" >
<input type="text" name="regName" value=""><br>
 

Затем на get_reg.php

 $regValue = $_GET['regName'];  
<?php  echo "<html>   
  our registration is: ".$regValue." ,
 

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

Комментарии:

1. сначала используйте это session_start(); в верхней части вашей страницы (на каждой странице, где вы используете / создаете сеанс)

2. Примечание: несбалансированные кавычки в <form method="get" action="get_reg.php onsubmit="returnvalidateForm()" name="myForm" >

3. Отсутствует action="get_reg.php , так что это action="get_reg.php"

4. Вот несколько руководств, которые, несомненно, помогут вам начать в правильном направлении thesitewizard.com/php/sessions.shtml и sitepoint.com/php-sessions «Дай человеку рыбу и корми его в течение дня. ПОКАЖИТЕ человеку, как ловить рыбу, и будете кормить его всю оставшуюся жизнь.» 😉

Ответ №1:

Вы можете сделать это с помощью простой функции, есть много способов сделать

 //at top of page dont forget to start session in both pages 
session_start();

function input_val($key, $remember = true) {
    $value = '';
    if(isset($_REQUEST[$key])) {
       $value = $_REQUEST[$key];
       //Store value in session if remember = true 
       if($remember) {
         $_SESSION['old'][$key] = $value;
       }
       return $value;
    }else{
      //Return session data
      return isset($_SESSION['old'][$key]) ? $_SESSION['old'][$key] : $value;
    }
}
 

вот ваш обновленный код

 <form method="get" action="get_reg.php" onsubmit="returnvalidateForm()" name="myForm" >
<input type="text" name="regName" value="<?php echo input_val('regName') ?>"><br>
 

Затем на get_reg.php

 $regValue = input_val('regName');  //use above function to get value
<?php  echo "<html>   
  our registration is: ".$regValue." ,
 

Надеюсь, это поможет, не забудьте очистить сеанс, когда закончите unset($_SESSION['old'])

Комментарии:

1. итак, вы вставляете функцию на обе страницы?

2. да, это требуется, я создам отдельную functions.php вспомогательную функцию для хранения всех, а затем включу ее в обе страницы после session_start();

3. Рад, что я помог, не забыл принять мой ответ @Tsg91

4. Эй, я только что сделал, но я на самом деле начинаю замечать проблему, похоже, что по умолчанию в качестве входных данных используется пробел, я имею в виду, как только я его запускаю, он принимает пробел в качестве входных данных, я пытался использовать javascript для проверки, если поле пустое, нодаже это не работает, даже если поместить заполнитель, когда я запускаю страницу, пробел занимает место заполнителя

5. Это похоже на то, что ввод из вашей функции принимает все свойства или атрибуты, которые я дал тегу ввода