0

我有 3 个 php 文件:第一个 login-form.php

<?php
if(isset($_POST['user']) && isset($_POST['password']))
{
    if(!empty($_POST['user']) && !empty($_POST['password']))
    {
    $user=$_POST['user'];
    $password=$_POST['password'];
    header('location:index-test.php');
    }
}
?>
<form action='index-test.php' method='post'>
Username <input type='text' name='user'/><br>
Password <input type='text' name='password'/><br>
<input type='submit' name='submit' value='submit'/>
</form>

第二个索引-test.php

 <?php
require 'core-test.php';

if(loggedin())
{
echo 'ok';
}
else
{
include 'login-form.php';
}


?>

第三核心-test.php

<?php
function loggedin()
{
    if(isset($user) && isset($password))
    {
    return true;
    }
    else
    {
    return false;
    }
}
?>

当我输入 index.php 时。它会输出 login-from.php 因为我还没有输入数据。但是当我输入数据并单击提交时,它仍然显示登录表单而不是messege 'ok'。我哪里错了?

4

2 回答 2

0

我认为您的意思是将表格login-form.php发布到login-form.php自身。如果您将其发布到index-test.php您所做的那样,那么$user并且$password不会被设置。

您可以按照其他人给出的步骤进行操作,或者只是更改action=表单的属性,并保留现有代码。

你唯一需要做的就是改变这条线

<form action='index-test.php' method='post'>

对此

<form action='login-form.php' method='post'>

和宾果游戏!

希望这有帮助。

于 2013-06-25T15:40:28.033 回答
0

在 core-test.php 中,你需要$_POST['user']代替$user; 同样的密码。

于 2013-06-25T15:27:34.050 回答