2015-03-25 49 views
0

我使用site來製作網站。這個網站製造商很容易使用,因爲元素只是拖放,但你也可以添加你的HTML代碼。PHP在網站製造商平臺上顯示/隱藏表格

在我的一個頁面中,我插入了一個表單的HTML代碼。表單的過程是要求輸入密碼,然後用GET方法,它將檢查密碼是否正確,如果正確,將顯示另一個表單。我使用PHP語言來處理密碼的檢查。我遇到的問題是,當輸入正確的密碼時,即使我已經輸入正確的密碼id,它也不會顯示任何內容。 This is the preview site

HTML代碼

<form name="password" id="password" style="width:300px;" method="get" action="http://link.co/transfer/password_protect_transfer.php"> 
    <label for="password"> 
    Enter password: 
    </label> 
    <input type="password" id="1151457790" name="password" required=""/> 
    <input type="submit" id="submit" name="submit" value="Submit"/> 
</form> 

<form name="transfer" id="transfer" method="POST" action="http://link.co/transfer/transfer.php" style="display: none;"> 
    <select id="affAccts" name="affAccts" required=""> 
    Select an account: 
    <option value="A"> 
    A 
    </option> 
    <option value="B"> 
    B 
    </option> 
    <option value="C"> 
    C 
    </option> 
    </select> 
    <br/> 
    <label for="name"> 
    Enter name: 
    </label> 
    <input type="text" id="name" name="name" required=""/> 
    <input type="submit" value="Join"/> 
</form> 

PHP

<?php 

$pw = $_GET['password']; 

if($pw == "Admin1234"){?> 
    <script type="text/javascript"> 
    $('#password').hide(); 
    $('#transfer').show(); 
    </script> 
<?php}else{?> 
<script type="text/javascript"> 
    alert("Access Denied!"); 
    location.reload(); 
    </script> 
    <?php 
    } 
?> 

回答

0

只能從預覽現場看,我說這是你所使用的平臺的問題。一旦您使用get方法提交表單,您應該會看到URL中的值。當我提交密碼時,URL沒有變化。

0

你面對的問題的一部分是,當密碼不正確時,你打電話給location.reload();重新加載頁面。 GET將密碼放入URL中,因此每次頁面重新加載時,它都會重新評估它是否正確並重新加載(因爲它仍然不正確)。一個循環。

我建議將表單方法從GET更改爲POST。

爲了進一步縮小問題範圍,簡化了JavaScript。例如。而不是調用一些jQuery函數:

<script type="text/javascript"> 
$('#password').hide(); 
$('#transfer').show(); 
</script> 

也許只是嘗試一些簡單的警報語句(如警報(「密碼好」);),直到你知道正確的代碼是在正確的地方開火。我將您的代碼複製到本地測試機器上,並且必須進行相當多的調整才能使事情順利進行。

0

你的PHP有一些缺陷:if/else集合不能在PHP以外工作,他們需要終止。例如:

<?php 
$pw = $_GET['password']; 
if($pw == "Admin1234"){ 
echo ' 
<script type="text/javascript"> 
$("#password").hide(); 
$("#transfer").show(); 
</script> 
'; 
}else{ 
    echo ' 
<script type="text/javascript"> 
alert("Access Denied!"); 
location.reload(); 
</script> 
'; 
} 
?>