我有一个单页网站,里面有PHP代码。一旦用户按下“发送”,这会将信息发送到我的电子邮件,然后显示一个消息框,说明该操作对用户来说是成功的 - 很棒。
关闭消息框后,该网站将保留在website.com/report.php。有没有办法将其重定向回原始页面。
此外,还有什么方法可以更改弹出的消息框中的图标?这是我的代码:
<script language="JavaScript">alert("Your request has been sent. I will contact you soon!");</script>
感谢。
答案 0 :(得分:4)
查看window.open
和window.location
将其放在警报()
之后http://www.tizag.com/javascriptT/javascriptredirect.php
此外,要回答消息框图标问题:否,它依赖于浏览器且无法修改。
如果你想这样做,你将需要使用html / css和javascript伪造它。
答案 1 :(得分:1)
<script language="JavaScript">
alert("Your request has been sent. I will contact you soon!");
window.location.assign("http://website.com");
</script>
如果您想更改提醒框中的图标或使其看起来有点花哨,您可以尝试YUI dialog
答案 2 :(得分:1)
使用此代码显示警告:
function displayAlert(message, redirect) {
alert(message);
window.location.href = redirect;
}
然后,您可以使用以下代码:
displayAlert("This is the message", "http://redirect.the/user/here");
答案 3 :(得分:0)
使用php header命令
<?php
header("Location: http://www.example.com/");
exit;
?>
答案 4 :(得分:0)
要在PHP中进行重定向,请使用header("Location: page.php");
。在此之前和之后,您的代码不应该向响应发送任何其他输出。最后使用exit();
来终止脚本。
如果您需要在此页面之前请求的页面,那么您最好能够将其URL作为report.php
链接的请求参数包含在内,并将其用作重定向目标。 E.g。
<a href="report.php?referrer=<?php echo $_SERVER['REQUEST_URI']; ?>">report</a>
并在report.php中将其作为隐藏输入字段传递:
<input type="hidden" name="referrer" value="<?php echo getParam("referrer"); ?>">
提交报告后:
header("Location: " . getParam("referrer") . ")"; // getParam() returns sanitized GET parameter.
另一种方法是使用$_SERVER['HTTP_REFERER']
标题(是的,包括拼写错误),但这不是那么可靠,因为它可能被客户端禁用或欺骗。
答案 5 :(得分:0)
我认为更优雅的解决方案是简单地向用户显示确认页面(而不是警告框),并在那里放置指向上一页的链接。
这对所有用户都有用。
对于那些使用javascript的用户,Ajax(jQuery)可以为您提交表单,并显示确认消息。所有这一切都没有离开用户所在的页面(无需任何花哨的重定向)。
答案 6 :(得分:-1)
在php结束时,请使用:
header('location: home.php');
这将导致浏览器加载原始页面。
除了消息之外,我不相信可以更改标准警报框。您也无法更改标题或按钮。
谢