表单提交后重定向使用PHP无法正常工作

时间:2018-03-08 10:36:33

标签: php forms redirect post header

您好我正在创建登录/注册并且数据库通信已经很好(数据已按预期存储和加载)。 我使用Adobe Muse设计登录页面并使用表单小部件来创建输入。在页面" login.html"我有以下表格:

<form class="form-grp clearfix mse_pre_init" id="widgetu63897" method="post" enctype="multipart/form-data" action="login_script.php">

  <div class="fld-grp clearfix grpelem" id="widgetu63910" data-required="true"><!-- none box -->
     <span class="fld-input NoWrap actAsDiv rounded-corners clearfix grpelem" id="u63913-4"><!-- content --><input class="wrapped-input" type="email" spellcheck="false" id="widgetu63910_input" name="email" tabindex="1"/><label class="wrapped-input fld-prompt" id="widgetu63910_prompt" for="widgetu63910_input"><span class="actAsPara">E-Mail or username</span></label></span>
  </div>

  <div class="fld-grp clearfix grpelem" id="widgetu63900" data-required="true" data-type="email"><!-- none box -->
    <span class="fld-input NoWrap actAsDiv rounded-corners clearfix grpelem" id="u63901-4"><!-- content --><input class="wrapped-input" type="password" spellcheck="false" id="widgetu63900_input" name="password" tabindex="2"/><label class="wrapped-input fld-prompt" id="widgetu63900_prompt" for="widgetu63900_input"><span class="actAsPara">Password</span></label></span>
  </div>

  <button class="submit-btn NoWrap rounded-corners clearfix grpelem" id="u63909-4" data-muse-uid="U63909" data-muse-type="txt_frame" type="submit" value="Login" tabindex="3"><!-- content -->
   <div style="margin-top:-12px;height:12px;">
    <p>Login</p>
   </div>
  </button>    
</form>

因此,为了测试login_script.php是否被执行,我让它向我自己发送一封有效的电子邮件。但是,如果我想从login_script.php重定向它,它不起作用。我已经从login_script.php删除了重定向的所有代码。

我尝试过使用

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
   echo "<script type='text/javascript'>window.location.href = 'index.html';
}
?>

以及

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
   header('location:index.html');
}
?>

我不知道还有什么我可以尝试解决这个问题

3 个答案:

答案 0 :(得分:0)

嗨,如果问题仍然存在,请试试这个评论

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
   header('Location:http://google.co.in');
}
?>

答案 1 :(得分:0)

function redirect($url)
{
    if (strpos($url, '://') === false)
    {
        // Make URL absolute
        $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/' . $url;
    }

    if (headers_sent())
    {
        // Send the redirect statement via JavaScript.
        echo "<script>window.location.replace(\"$url\");</script>\n";
    }
    else
    {
        // Use the more efficient HTTP header for redirection.
        header('Location: ' . $url);
    }

    exit;
}

redirect('index.php');

另见

答案 2 :(得分:-1)

尝试回复

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{

如果有效,那就试试吧。

header('Location: http://www.example.com/');