我是一名业余编码员,在新的一年里,我开始学习HTML5和CSS3。
我目前正面临挑战,我有一个单页的html文件(index.html)。在页面中有一个html表单,其中包含对php文件的操作。一旦php文件处理表单,它就会将用户引导回index.html。我想做的是在我的网站顶部显示一个div,表示“感谢您提交表单!”
我该怎么做?我假设我们会做某种“如果推荐页面是form.php然后显示div”但我不知道如何检测引用页面。另外我不知道使用什么语言,我假设javascript。我想远离php,因为我不希望我的单页html文件变成php文件。
我希望这很清楚 谢谢!
答案 0 :(得分:1)
由于我不知道你网页的确切结构,我建议你使用session和htaccess来允许在html文件中使用php。
在你的php文件中,在处理后写下:
@session_start();
$_SESSION['submitted_msg'] = "You have submitted a form";
在您的html文件中,将此权限写在您希望显示消息的位置:
<?php if (isset($_SESSION['submitted_msg'])) { ?>
<div><?php print($_SESSION['submitted_msg']);?></div>
<?php unset($_SESSION['submitted_msg']);} ?>
要使其正常运行,您需要在项目的根目录中有一个.htaccess
文件。使用以下代码:
AddType application/x-httpd-php .html
希望,这对您有所帮助,如果您需要其他方法,请写下更多详细信息。
更新1:启用Cookie的JavaScript方法
form.php的
<?php
# above is form processing...
setcookie ("submit_message", 'thanks...', time()+3600, '/');
header("Location: index.html");
exit;
?>
的index.html
<html>
<head></head>
<body>
<script type="text/javascript">
function readCookie(name)
{
var cookiename = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++)
{
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(cookiename) == 0) return c.substring(cookiename.length,c.length);
}
return null;
}
function deleteCookie( name, path, domain )
{
document.cookie=name+"="+((path) ? ";path="+path:"")+((domain)?";domain="+domain:"") +
";expires=Thu, 01 Jan 1970 00:00:01 GMT";
}
window.onload = function()
{
var msg = '';
if (readCookie('submit_message') != null)
{
msg = readCookie('submit_message');
deleteCookie('submit_message','/');
}
document.getElementById('message').innerHTML = '<div style="background:green">'+msg+'</div>';
}
</script>
<div id="message">
</div>
</body>
</html>
如果你去构建php,它会重定向到index.html,如果刷新消息消息,则会显示消息。
祝你好运。