使用与操作不同的重定向位置提交表单

时间:2012-08-14 18:55:25

标签: php html forms rss onsubmit

问题:
我有RSS Feed。正如你们中的一些人可能知道的那样,RSS提要并不总是及时更新(我使用FeedBurner)所以我想在我的网页上提供更新RSS提要的选项。这是一个简单的过程,我只需要ping一个地址。问题是:我想留在初始页面,理想情况下刷新它。

我已经看过一些"解决方案"使用隐藏的iframe,javascript,Ajax等等。
我想知道的是,如果有 使用php / html执行此操作的优雅方法。

下面的流程图说明了我希望系统如何运作。

修改
这是我目前拥有的简单表单代码:

<form action="http://url.to.ping" method="post">
   <input type="submit" value="Refresh" />
</form>

这是一个标准表单,对提交执行操作。我现在要求浏览器目的地(从用户看)是不同的网址,而不是操作中的网址。值得注意的是,我的域中的操作页面,并且不属于我拥有或有权访问的域。

谢谢!

2 个答案:

答案 0 :(得分:1)

我的意思是,

/contactme.php

一旦他们提交并返回页面,就会有其他变量,如

/contactme.php?thanks=1

基本上是否有任何声明他们刚刚提交并返回原始页面的内容,如果是这样的话。

你可以做;

<?php
if(isset($_GET['thanks']))
{
    $pingServer = file_get_contents('http://www.the.server.to.ping.com/pingit.php');
    unset($pingServer);
}
?> 

位于页面底部,它只会点击该页面。

这样您就不会依赖于启用JavaScript而且用户不会跳过多个URL。

答案 1 :(得分:0)

当我需要登陆页面与处理页面不同时,我所做的是添加一个JavaScript重定向,其中一个人会把他们的“谢谢填写我的表单”材料。

所以,代码过程将是:

  1. 用户填写表单,点击提交
  2. 服务器端验证和处理。
  3. 如果成功,则location.href(URL, 0);做其他错误案例
  4. 用户被重定向到新网址(您的刷新页面)