【问题标题】:Retrieve $_SESSION value in Input value在输入值中检索 $_SESSION 值
【发布时间】:2013-12-29 04:33:37
【问题描述】:

我正在使用基本注册表单,如果用户按下提交按钮,我想将输入值存储到会话中,并将相同的用户数据保留到输入字段中。使用以下代码,我可以临时存储和检索,但只有当我按下提交按钮两次时。 我的基本要求是 - 我想在按下“提交”后保留用户数据。 - 我也想保留收音机、复选框的值。 - 即使我们刷新页面,也可以保留输入值。

代码如下,请对我的问题提出一些建议

<!DOCTYPE html>
<html>
<head>
<title>Registration</title>
<style type="text/css">
ul li
{ 
 list-style:none; 
}   
form
{
border:1px solid #ccc;
width:500px;
margin:0 auto;
}
</style>
</head>
<body>
<?php session_start(); ?>
<form action="<?php $_PHP_SELF ?>" method="post" name="register" >
<h4>User Registration</h4>
<ul>
  <li><label>User Name</label></li>
  <li>
  <input type="text" name="user" size="20" value="
  <?php echo isset($_SESSION['user']) ? $_SESSION['user'] : ''; ?>"></li>
  <li><label>Email</label></li>
  <li><input type="text" name="email" size="25" value="
  <?php echo isset($_SESSION['email']) ? $_SESSION['email'] : ''; ?>"></li>
  <li>Gender</li>
  <li><input type="radio" name="gender">Male</li>
  <li><input type="radio" name="gender">Female</li>
  <li>Computer Knowledge</li>
  <li><input type="checkbox" name="c">C Language</li>
  <li><input type="checkbox" name="cplus">C++ Language</li>
  <li><input type="checkbox" name="java">Java</li>
  <li><input type="checkbox" name="php">PHP</li>
  <li><input type="checkbox" name="python">python</li>
  <li><input type="submit" name="submit" value="submit">
 </ul>
 </form>
 <?php 
   if (isset($_POST['submit']))  
    {
    $_SESSION['user'] = $_POST['user'];
    $_SESSION['email'] = $_POST['email'];
    }
 ?>
 </body>
 </html>

提前致谢

【问题讨论】:

    标签: php html forms session session-variables


    【解决方案1】:

    这个&lt;?php session_start(); ?&gt; 应该在其他所有内容之前出现在页面顶部! 它应该像这样开始;

     <?php session_start(); ?>
     <!DOCTYPE html>
    

    你现在应该得到一个 php 错误,说“致命错误;标头已经发送”或类似的东西。

    如果服务器在您的代码的第一行没有收到指令session_start();,您将无法使用$_SESSION 变量

    【讨论】:

      【解决方案2】:

      将此部分移到脚本顶部,紧跟在session_start(); 之后:

       <?php 
         if (isset($_POST['submit']))  
          {
          $_SESSION['user'] = $_POST['user'];
          $_SESSION['email'] = $_POST['email'];
          }
       ?>
      

      另外,正如@pythonian29033 所说,session_start(); 应该在输出任何内容之前编写。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-16
        • 1970-01-01
        • 2016-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多