【问题标题】:php on submit redirect to another pagephp提交重定向到另一个页面
【发布时间】:2014-10-09 06:28:35
【问题描述】:

我的 html 文档中有一个表单,当按下提交按钮时,表单调用文件 form.php。现在在 form.php 中,我想将它重定向回我的主页并重置之前填写的表单。我已经尝试了下面的代码,但我得到了一个空白页。谷歌网址只是默认的。

<?php
if ($_POST['submit']) {
    if (mail ($to, $subject, $body, $from)) { 
		// To redirect to home page
		header("Location:http://www.google.com");
    } else { 
        echo '<p>Oops! An error occurred. Try sending your message again.</p>'; 
    }
}
?>

感谢大家的帮助。

【问题讨论】:

  • 请检查服务器日志并尽可能在此处发布
  • 提示:在header之后写exit()
  • 我如何得到它?我使用 Filezilla 作为 ftp 客户端
  • @NawshadGhannoo 应该有一个名为 error_log.txt 的文件 form.php 所在的位置。
  • 哦,是的,谢谢。这是消息:[09-Oct-2014 06:06:07 UTC] PHP 警告:无法修改标头信息 - 标头已由(输出开始于 /home/webpro/public_html/dev/form.php:12)在/home/webpro/public_html/dev/form.php 第 16 行

标签: php redirect


【解决方案1】:

你可以试试javascript重定向页面的方式:

例子:

    $url='http://www.google.com';

    echo '<script>window.location = "'.$url.'";</script>';
    die;

这可能会有所帮助...!!

【讨论】:

  • 这非常有效。谢了哥们。我认为这个话题已经解决了。非常感谢大家,你们太棒了。
  • 谢谢,乐于助人,Stack Overflow Rockzz...!!@@!!
【解决方案2】:

可能你在这个标题(...)之前写了一些回声或打印。试试ob_start();

更多信息请关注this

【讨论】:

    【解决方案3】:

    我没有看到您的 HTML,但您是否使用属性 name="submit" 命名了您的提交按钮?

    其他情况 $_POST['submit'] 将为空,您的脚本什么也不做。

    【讨论】:

      【解决方案4】:

      您好,我已经使用了您拥有的代码。我可以重定向到谷歌。请检查下面的代码..在我看来,我认为问题可能是邮件功能。检查邮件是否来了..如果邮件来了,那么它肯定会重定向到谷歌页面..

      <?php
      if ($_POST['submit']) 
       {
          $to="test@gmail.com";
          $subject="googletest";
          $body="test";
          if (mail ($to, $subject, $body)) 
          { 
              // To redirect to home page
              header("Location:http://www.google.com");
          } else { 
              echo '<p>An error occurred. Try sending your message again.</p>'; 
          }
      }
      ?>
      <form name="form" id="form" action="form.php" method="post">
      <input type="submit" value="submit" name="submit">
      </form>
      

      【讨论】:

      • 是的,这也是我的 html。提交时收到邮件。它只是不会重定向。但我用过 echo '';而不是标题,现在很好。顺便说一句,你知道如何解决这个问题吗?
      【解决方案5】:

      试试这个:

      <?php
      if ($_POST['submit']) {
         $to="abc@gmail.com";
         $subject="Mail";
         $body="redirect";
         $from="xyz@gmail.com";
          if (mail($to, $subject, $body, $from)) { 
              // To redirect to home page
              header("Location:http://www.google.com");
              exit();
          } else { 
              echo '<p>Oops! An error occurred. Try sending your message again.</p>'; 
          }
      }
      ?>  
      

      它在我的本地服务器上工作。

      【讨论】:

      • 我不知道怎么了。我已经按照 Sharaz Nabi 的建议使用了 javascript,并且效果很好。
      猜你喜欢
      • 2019-05-08
      • 2013-06-14
      • 2012-12-08
      • 2017-06-26
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      • 1970-01-01
      相关资源
      最近更新 更多