1

我是一名业余编码员,今年我开始学习 HTML5 和 CSS3。

我目前面临一个挑战,我有一个单页 html 文件 (index.html)。在页面中有一个 html 表单,它对 php 文件有一个动作。一旦 php 文件处理了表单,它就会将用户引导回 index.html。我想做的是在我的网站顶部显示一个 div,上面写着“感谢您提交表单!”

我该怎么做呢?我假设我们会做某种“如果推荐页面是 form.php 然后显示 div”,但我不知道如何检测推荐页面。另外我不知道使用什么语言,我假设是javascript。我想远离 php,因为我不希望我的单页 html 文件变成 php 文件。

我希望这很清楚谢谢!

4

1 回答 1

1

由于我不知道您的页面的确切结构,我建议您使用会话和 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 方法

表单.php

<?php
  # above is form processing...
  setcookie ("submit_message", 'thanks...', time()+3600, '/');
  header("Location: index.html");
  exit;
?>

索引.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 并显示消息,如果你刷新消息消失。

祝你好运。

于 2013-01-07T00:13:36.637 回答