2015-03-19 111 views
0

我有一个要求输入密码的表单。如果输入了正确的密码,则会显示另一个表单。如果没有,则会出现警告框,然后重新加载页面。现在我已经制作了一个php,以便没有人能看到密码。现在的情况是,我做的第二种形式是隐藏的,所以我做的是在隐藏和显示表单的按钮中放置一个javascript function()。然后我在echo它在php中。现在的问题是,无论何时点击提交按钮,即使我没有输入密码,表单仍然会显示。我的问题是,我怎样才能成功实现这个代码并正确运行我的程序?onclick javascript in PHP

HTML

<!-- *** password form *** --> 
     <form id="frmPw" method="get" action="http://dashboard.site_practice.co/transfer/password_protect_transfer.php" style="float:left;"> 
     <label for="element_1"> 
     Enter password to view content. 
     </label> 
     <div> 
     <input id="pw" name="password" type="password" placeholder="" style="width:200px;" required=""/> 
     </div> 
     <button id="submit" name="submit" style="width: 100px; float:left;"> 
     Submit 
     </button> 
     </form> 

<!-- *** select form *** --> 
    <form method="POST" id="frmSelect" style="display:none;" action="http://dashboard.site_practice.co/transfer/transfer.php"> 
     <label class="control-label" for="selectbasic-0">Select an account :</label><br> 
     <select id="selectbasic-0" name="selectbasic-0" required=""> 
      <option value="1">ABC</option> 
      <option value="2">DEF</option> 
      <option value="3">GHI</option> 
      <option value="4">JKL</option> 
     </select> 
    <br> 
     <label class="control-label" for="name">Enter name:</label><br> 
     <input id="name" name="name" type="text" placeholder="Full Name" required="" style="width:150px;"> 
    <br> 
     <label class="control-label" for="submit"></label> 
     <button id="submit" name="submit" class="btn btn-success">Join!</button> 
    </form> 

JS

<script> 
function pW() { 
     document.getElementById('frmSelect').style.display = 'block'; 
     document.getElementById('frmPw').style.display = 'none'; 
} 
</script> 

PHP

<?php 

$pw = $_POST['password']; 

if($pw == "admin1234"){ 
    echo pW(); 
}else{ 
?> 
<script type="text/javascript"> 
    alert("Access Denied - Password Incorrect, Please Try Again"); 
</script> 
<?php 
} 
?> 
+0

你不能从php代码中调用js函数 – 2015-03-19 02:26:52

+0

就像@Lashane说的,你不能做你正在做的事情。相反,对于第一条if语句,回声如“成功”。请在页面的JavaScript中使用if/else语句阅读此内容,这就是您称之为“pW”功能的地方。 – jonmrich 2015-03-19 02:28:29

+0

所以你知道如何从PHP内部正确地调用一个JavaScript函数 - alert,但是你不能将这些知识转移到调用另一个JS函数?顺便说一句,你不需要首先使用JavaScript,而是只需在表单上输入'style =“display:none;”'属性,通过检查是否发送密码在那里,然后在PHP中。 – CBroe 2015-03-19 04:45:30

回答

1

我想你的代码。它正在工作,当我将$_POST['password']更改为$_GET['password']。我希望这会有所帮助。

<?php 

    $pw = $_GET['password']; //change $_POST to $_GET 
    if($pw == "admin1234"){ 
    echo pW(); 
    /////////////////////////////////////////////////////////////////// 
    ///if password is correct, here will be your code for next step//// 
    /////////////////////////////////////////////////////////////////// 
    }else{ 

?> 

<script type="text/javascript"> 
    alert("Access Denied - Password Incorrect, Please Try Again"); 
</script> 

<?php 
    } 
?>