<?php
if(isset($_POST['user']) && !empty($_POST['user'])){
header('Location:index-an.php');
}
else{
echo 'pls input';
}
?>
<form action='#' method='post'>
user <input type='text' name='user'><br>
<input type='submit' name='submit' value='submit'>
</form>
第二个名为'core-an.php'
<?php
session_start();
function loggedin()
{
if(isset($_SESSION['user']) && !empty($_SESSION['user']))
{
return true;
}
else
{
return false;
}
}
?>
第三个名为'index-an.php'
<?php
require 'core-an.php';
if(loggedin())
{
$user=$_SESSION['user'];
echo 'hello '.$user.' have a nice day';
}
else
{
include 'test.php';
}
?>
当我输入值并按提交时,它不会输出任何内容。
答案 0 :(得分:0)
从我看到的情况来看,您的$_POST
数组无法分配到$_SESSION['user']
因此,在您的test.php
文件中,将您的PHP代码修改为:
session_start();
if(isset($_POST['user']) && !empty($_POST['user'])){
$_SESSION['user'] = $_POST['user'];
header('Location:index-an.php');
}else{
echo 'pls input';
}
答案 1 :(得分:0)
您没有为$ _SESSION ['user']变量分配任何值。因此,执行else语句。因此,不是再次重定向到同一页面,而是将其重定向到测试页面,在该页面中您实际将username
分配给$_SESSION['user']
变量。所以这样做:
<强> test.php的强>
<form action='random.php' method='post'>
user <input type='text' name='user'><br>
<input type='submit' name='submit' value='submit'>
</form>
<强> random.php 强>
session_start();
$_SESSION['user'] = $_POST['user']
header('Location: /test.php');