PHP HTML 表单会话


PHP HTML form session

<?php
session_start();
?>
<html>
<body>
<form action="process.php" method="post">
 Name: <input type="text" name="username" value="<?php echo $_SESSION['u']; ?>" />
 <input type="submit" value="Submit"/>
  </form>
 <form action="register.php" method="post">
  <input type="submit" value="Register a new user" />
  </form>
   </body>
    </html>

所以伙计们我得到了这个,我的问题是:我想使用会话将最后一个注册用户分配为登录表单的值。我得到的一切运行正常,问题是如果我第一次登录并且我没有开始会话,我对 U 变量一无所获,并且收到错误消息。我怎么能...避免那个或其他什么。我尝试了if语句,但在值部分中它不接受{}括号或其他东西。有什么建议吗?

使用 isset 并将会话值分配给变量,而不是直接使用它:

if(!isset($_SESSION['u'])){
   $u = '';
} else {
   $u = $_SESSION['u'];
}
<input type="text" name="username" value="<?php echo $u; ?>" />

另一种解决方案——虽然不太干净和可维护——是利用PHP的三元运算符:

<input type="text" name="username" value="<?php echo (isset($_SESSION['u']) ? $_SESSION['u'] : ''); ?>" />

三元算子的简单解释

($statement ? [if $statement == true] : [$statement == false])

使用三元运算符。

试试这个

Name: <input type="text" name="username" value="<?php echo ($_SESSION['u'])?$_SESSION['u']:''; ?>" />
value="<?php echo isset($_SESSION['u'])?$_SESSION['u']:''; ?>"