如何创建$ _SESSION变量,然后将其带到另一个页面

时间:2019-03-19 18:07:46

标签: php html html5 forms

我想创建一个会话变量,以便可以在另一页上使用它。 (就像在page1.php上设置会话变量,然后在page2.php上再次调用它一样。)

edit:表单验证的意思是确保已设置变量(例如输入框中有内容),然后将其设置为会话变量,以便可以在其他页面上使用它们。

这是我的page1.php代码:

<?php 

session_start();


?>
<!DOCTYPE html>
<html>
<head>
<?php 

 if(!isset($_POST["submit"])) {

 //matri70boss suggested this code. Thanks matri70boss! 
 if(!empty($_POST) && empty($_POST['username']){
  echo "error , username was not submited";
 } else {
  $_SESSION["username"] = $_POST["username"];
 }

 }

 ?>

 <title>NoterSharp</title>
 <link rel="icon" href="Images/icon.png">
 <link rel="stylesheet" type="text/css" href="style.css">

 </head>

 <body>

 <div id="header">

 <h1 id="header">Welcome to NoterSharp!<h1>

 <form action="page2.php" method="post">

 <input type="username" id="username" name="username" placeholder="Username">
 <input type="submit" id="submit" name="submit" value="Submit">

 </form>


 </div>

 </body>

 </html>

这是我的page2.php代码:

<?php 
session_start();

?>

<!DOCTYPE html>
<html>
<head>

<title>NoterSharp</title>
<link rel="icon" href="Images/icon.png">
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>

<div id="output">

Your username is: <?php echo $_SESSION["username"]; ?>
</div>


</body>

</html>

由于某种原因,用户名未显示在page2.php中

2 个答案:

答案 0 :(得分:0)

更改      $ _SESSION [“ username”] == $ _POST [“ username”]; 到

$_SESSION["username"] = $_POST["username"];

也许添加类似的东西

    if(!empty($_POST) && empty($_POST['username']){
      echo "error , username was not submited";
    }

检查是否发送了用户名,如果提交了表单但用户名为空(空字符串或未设置),则会回显“错误,...”。
也许在其他情况下设置$ _SESSION [“ username”]

    if(!empty($_POST) && empty($_POST['username']){
      echo "error , username was not submited";
    } else {
      $_SESSION["username"] = $_POST["username"];
    }

答案 1 :(得分:0)

有关更多信息,您可以使用以下链接作为参考。 :)

https://code.tutsplus.com/tutorials/how-to-use-sessions-and-session-variables-in-php--cms-31839
https://www.w3schools.com/pHp/php_sessions.asp
http://php.net/manual/en/reserved.variables.session.php