Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当前页面的PHP标题位置_Php_Ajax_Redirect_Header - Fatal编程技术网

当前页面的PHP标题位置

当前页面的PHP标题位置,php,ajax,redirect,header,Php,Ajax,Redirect,Header,我有一个静态HTML页面,它使用一个简单的联系人表单。当用户单击send按钮时,它使用一个.php页面来发送数据。我已经对此进行了测试,效果很好,我遇到的问题是,一旦用户发送了消息,如何让他们保持在html页面上。我根本不想重定向(如果可能的话,我希望能够关闭联系人表单所处的模式,并返回到他们所处的任何页面-此联系人表单位于多个页面上) 我有:header('Location:index.html')重定向很好,但我必须为每个页面创建一个php联系人脚本页面 我所尝试的:header('Loca

我有一个静态HTML页面,它使用一个简单的联系人表单。当用户单击send按钮时,它使用一个.php页面来发送数据。我已经对此进行了测试,效果很好,我遇到的问题是,一旦用户发送了消息,如何让他们保持在html页面上。我根本不想重定向(如果可能的话,我希望能够关闭联系人表单所处的模式,并返回到他们所处的任何页面-此联系人表单位于多个页面上)

我有:
header('Location:index.html')重定向很好,但我必须为每个页面创建一个php联系人脚本页面

我所尝试的:
header('Location:'.$\u SERVER['REQUEST\u URI'])
标题('Location:http://'.$\u SERVER['http\u HOST'.$\u SERVER['REQUEST\u URI'])

JavaScript:
onclick=“window.location.reload(true)”
没有执行任何操作

**我通过使用AJAX实现了我想要的工作方式。这对我来说是全新的,所以我非常感谢所有帮助我的人。即使是最终没有达到我想要的效果的答案也教会了我一些新的东西——这在我的书中是一件好事。感谢你的时间(人们:)


如果你想看到它的运行——在我的测试页面上查看它::它是底部面板上的“联系”按钮。

这是一个完整的黑暗拍摄

这将永远无限地重定向到自身,并导致浏览器出错

header('Location: ' . $_SERVER['REQUEST_URI']);
试试这个

if(!isset($_GET['r']))
    header('Location: ' . $_SERVER['REQUEST_URI'] . '?r=1');

这将重定向,但通过一个参数,可以检查此
r
参数,以确保重定向不会反复发生。

如果可能,使用带有POST的AJAX调用将提交时的数据发送到url。您可以通过这种方式传递重定向。

听起来您应该使用jQuery并使用Ajax提交您的联系人表单。通过使用Ajax,您将在后台发送联系人表单,用户将不会看到页面刷新,也就是说:模式窗口将保留,您可以使用javascript代码关闭它

这里有一个简单的例子,我希望它能帮助你走上正确的道路。要从contact.php脚本中捕获潜在错误,请查看文档


$(文档).ready(函数(){
$(“#联系人”)。提交(函数(){
$.ajax({
类型:“POST”,
url:“contact.php”,
数据:$(this).serialize(),
成功:函数(){
提醒(“感谢联系我们!”);
}
})
//防止该页面重新加载
返回false;
})
})

那么AJAX是不可能的吗?我以前从未使用过AJAX,所以我完全不确定。我想我应该包括一个部分,询问做这件事最好的方法是什么。我想这应该是一个简单的PHP脚本,但我可能错了。这只会在我点击发送按钮时产生解析错误——正好在if语句的行上。可以在我的html页面中包含php脚本吗?就在页脚或body标记下方的底部,就像一些JS脚本一样?这确实修复了解析错误,但仍然将我放在contact.php页面上。表单位于about.html页面上,它的操作将其指向contact.php页面,我希望它在这里重定向回about.html页面。此联系人按钮将在多个页面上使用,否则我只能使用location参数轻松地将其定向。也许这会让事情变得明朗一点。我更愿意学习一些新的东西。你的.html文件不会执行PHP-这可能是一个因素吗?如果要重定向到特定页面,只需执行
标题('Location:/contact.php?r=1')嗯,那还是不行。它确实会发送电子邮件,但不会返回到原始页面。对不起,我肯定让你失望了,哈哈。如果我能弄清楚如何设置,我可以尝试使用AJAX脚本。我的另一个选择是根本没有重定向。每当我尝试取出那个部分时(我已经搜索了这么多的修复程序),它只会给我一个解析错误。是否有一行特定的代码只发送一条成功消息?真的很感谢你的时间。这是我在使用这个时不理解的部分——因为我以前在其他地方见过它。在哪里/如何将邮件定向到特定的电子邮件和/或收件箱?我要尝试一下——也许是时候开始学习类似的东西了——在我修好它之前必须先把它打破。哈哈。谢谢你的帮助。我将走这条路,希望能找到一些有用的东西。如果你想发送表单中提交的内容,那么你必须在
contact.php
(你的服务器)中编写代码。该文件将接收提交的数据。检查
$\u POST
变量。一旦你得到了,你就可以使用PHP的。这需要一个适当的配置;有时使用邮枪之类的服务更容易。祝你好运是的,我刚刚想好了这一部分——现在我正在尝试获取它,这样当消息发送时,它会停留在同一个html页面上,而不是进入php页面。好的,对不起,我的坏消息。我用一个
return false
语句更新了代码,该语句取消了“重新加载页面提交”。你应该得到一条警告信息;这是一个弹出窗口,上面写着“谢谢联系我们!”。弗里克——我就知道事情会很简单。我对这些领域完全陌生——这里的用途虽小但很强大。我现在需要学习如何使用js警报框以外的东西(我已经读到它们在部署中可能有害)。关于这个你可能知道的任何链接?我在模态窗口中有联系人表单,模态窗口有一个css/js代码来关闭它,但我不知道如何在js中添加它来替换警报。我现在就玩这个-谢谢你的帮助,你真棒。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
  $(document).ready(function() {
    $("#contact").submit(function() {
      $.ajax({
        type: "POST",
        url: "contact.php",
        data: $(this).serialize(),
        success: function() {
           alert("Thanks for contacting us!");
         }
      })
      // Prevent that page reloads
      return false;
    })
  })
</script>

<form id="contact">
   <input type="text" name="name" /> 
   <input type="text" name="msg" /> 
   <input type="submit" />
</form>