我想创建一个会话变量,以便我可以在另一个页面上使用它。 (比如在page1.php上创建会话变量,然后在page2.php
上再次调用它)。
编辑:表单验证的意思是确保变量已设置(就像输入框中有某些内容),然后将它们设置为会话变量,以便我可以在其他页面上使用它们。
这是我的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上
更改$ _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"];
}
有关更多信息,您可以使用以下链接作为参考。 :)
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