我有一个包含一些HTML代码的php页面。这是注册到网站的用户的确认页面,因此,我想仅在有效注册的情况下显示它(没有可能从外部访问它)。 为此,我已将此条件置于confirmation.php
的开头if (empty($_POST))
{header('location: registration.php');}
文件的其余部分是:
<div id="logo"> <img src=my_logo_small_grey.png height="60"/> </div>
<div id="msgConfirm">Thank You</div>
(顺便说一句,这是一个很好的解决方案?)
但是从registration.php开始,如何启动/重定向到confirmation.php发送POST params?其实我用过AJAX:
url = "confirmation.php";
params = "ok"
ajaxReq.setRequestHeader("Content-length", params.length);
ajaxReq.open("POST", url, true);
但似乎只执行脚本(思考),没有有效的重定向..为什么?
答案 0 :(得分:0)
使用jQuery
$.post()
将是实施解决方案的关键。
但更一般地看一下你的问题,通常,工作流程正在跟随
如果您确实需要隐藏对成功页面的访问权限,请创建一次性可用令牌。
让(!empty($_POST))
不是限制访问该网站的“强大”方式。
答案 1 :(得分:0)
首先,如果文件的其余部分很小,那么你可以把它放在if循环中。
<?php
if(isset($_POST['yourpost']))
{
?>
<div id="logo"> <img src=my_logo_small_grey.png height="60"/> </div>
<div id="msgConfirm">Thank You</div>
<?php
}
?>
您还可以通过写下如下Javascript来创建重定向:
<?php
echo "<script>location.href='".$redirecturl."'</script>";
?>
发布数据通常会发送到处理它的其他页面,然后您将转到另一个显示确认的页面。 这个数据可以通过再次从数据库中获取来检索。(如果你这样做)
如果您确实希望将检索到的POST数据传递到另一个页面,那么您可以将其作为GET变量添加到链接中,如www.url.com/index.php?get=something
您还可以将会话变量存储为$ _SESSION ['var'] =“something”; 记得启动session_start();在使用会话的php页面的开头。
抱歉,我不是那么有经验,所以也许其他人会提供更好的帮助,希望现在有所帮助。