PHP POST无法正确重定向



我有两个不同的站点,希望通过表单将数据从第一个页面传递到第二个页面。表格如下(简化(:

<form method="POST" action="https://othersite.me/login.php">
<label class="title">
E-Mail
</label>
<input name="luser" type="email">
<label class="title">
Password
</label>
<input name="lpasswd" type="password">
<input type="submit" value="Login">
</form>

php代码othersite.me/login.php如下所示:

<?php
$email=Format::input($_POST['luser']?:$_GET['e']);
$passwd=Format::input($_POST['lpasswd']?:$_GET['t']);
?>
<form method="POST" action="login.php">
<label class="title">
E-Mail
</label>
<input name="luser" type="email" value="<?php echo $email; ?>">
<label class="title">
Password
</label>
<input type="password" value="<?php echo $passwd; ?>">
<input type="submit" value="Submit">
</form>

现在,当我在第一个页面上输入一些数据时,数据会被传输到otherpage.me/login.php,并显示在相应的字段中。

奇怪的是,按下提交按钮后,网站会被重定向到othersite.me/login.php不到一秒钟,然后自动重定向到othersite.me/index.php。

如果我使用GET而不是POST,表单将按预期工作,并保留在othersite.me/login.php上。

这怎么可能,我该怎么解决。你有什么想法吗?

为什么需要两个php文件才能做到这一点?您可以在login.php中使用action="<?php echo $_SERVER['PHP_SELF']; ?>",并在那里开始处理提交的数据。你可以按照这个说明

我还没有声誉可以评论,所以我会回答。

在othersite.me/login.php中,如果您有权限,请粘贴以下代码ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);这将返回所有警告和致命错误

最新更新