在输入值中检索 $_SESSION 值 [英] Retrieve $_SESSION value in Input value

查看:48
本文介绍了在输入值中检索 $_SESSION 值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am working with a basic registration form , if the user presses submit button , i want to store the input values to a session and also to retain the same user data into the inputfield . With the following code i can able to temporarily store and retrieve but only when i press submit button twice. my basic requirements are - I want to retain the user data after pressing "submit". - I Want to retain the radio , checkbox values also. - It is possible to retain the input values even though we Refresh the page.

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

the code follows , please give some suggestion regarding my problem

<!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>

提前致谢

推荐答案

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

Move this part at the top of your script, just after session_start(); :

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

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

Also, as @pythonian29033 said, session_start(); should be written before you output any content.

这篇关于在输入值中检索 $_SESSION 值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆