我想创建一个会话变量,以便可以在另一页上使用它。 (就像在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中
答案 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