【问题标题】:Hide form with php on submit?提交时用php隐藏表单?
【发布时间】:2013-01-27 01:47:54
【问题描述】:

我有一个简单的 php - 基于有效表单的密码保护/登录。 PHP代码在页面“secure.php”中,当用户+密码正确时包含html文件“accessed.html”。

但我希望在显示隐藏页面 (accessed.html) 时隐藏表单。 我尝试将表单包装在 div 中并使用 javascript 和 display: none 隐藏,但它不起作用 - 不是在本地或在服务器上。

我做错了什么?登录后不一定是js隐藏表单..

PHP 在顶部

    <?php
$user = $_POST['user'];
$pass = $_POST['pass'];

if($user == "a"
&& $pass == "a")
{
        include("accessed.html");
         echo "<script>
                    document.getElementById('wrap').style.display = 'none';
                </script>";
}

if(isset($_POST))
?>

还有正文中的表格:

    <div id="wrap">
    <form method="POST" action="secure.php">
        User <input type="text" name="user"></input>
        Pass <input type="text" name="pass"></input>
        <input type="submit" name="submit" value="access page"></input>
    </form>
</div>

【问题讨论】:

  • PHP 在服务器端运行。 Javascript 在客户端运行。这是 Web 开发的一个基本且重要的方面。

标签: php javascript


【解决方案1】:

&lt;script&gt;移动到之后显示“#wrap”的位置

如果您想在服务器端 (PHP) 执行此操作,只需使用 if 语句即可。

【讨论】:

  • 我想你的意思是把&lt;script&gt;移到&lt;div&gt;之前
  • @njk 不,我的意思是之后。它已经在 div 之前,所以 document.getElementById('wrap') 什么都不返回。
【解决方案2】:

我想这就是你要找的我的朋友

<html>
<body>

<div id="wrap">
    <form method="POST" action="temp.php" target = "hidden">
       <input type="text" name="user">User</input>
       <input type="text" name="pass">Pass</input>
        <input type="submit" name="submit" value="access page" onclick = "closediv()"></input>
    </form>
</div>

<iframe name = "hidden" id = "hidden" style = "display: none"></iframe>

<script>

function closediv(){
    document.getElementById("wrap").style.display = "none";
    }

</script>

</body>
</html>

使用上面的代码,您需要在当前页面上进行 PHP 处理。如果这没有按照您的意愿执行并且我误读了您的问题,请告诉我,我们可以解决您的困境。

【讨论】:

    猜你喜欢
    • 2012-10-22
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多