我正在使用这个站点来创建一个网站。这个网站制造者很容易使用,因为元素只是拖放,但你也可以添加你的HTML代码。
在我的一个页面中,我插入了一个HTML代码,这是一个表单。表单的过程是询问密码,然后使用GET方法,它将检查密码是否正确,如果正确,将显示另一个表单。我使用PHP语言来处理密码的检查。我遇到的问题是,当输入正确的密码时,即使我输入了正确的id,它也不会显示任何内容。这是预览站点
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
$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
}
?>发布于 2015-03-25 01:44:55
仅从预览网站判断,我说这是一个问题,与您正在使用的平台。提交带有get方法的表单后,您应该会看到URL中的值。当我提交密码时,URL没有变化。
发布于 2015-03-25 01:58:19
您面临的部分问题是,当密码不正确时,您将调用location.reload();来重新加载页面。GET是在URL中输入密码,所以每次页面重新加载时,它都会重新评估它是否正确,并再次重新加载(因为它仍然不正确)。一圈。
我建议将表单方法从GET更改为POST。
为了进一步缩小这个问题,简化一下JavaScript。例如,不要调用一些jQuery函数:
<script type="text/javascript">
$('#password').hide();
$('#transfer').show();
</script>也许只需尝试一些简单的警报语句(例如,警报(‘密码良好’);直到您知道正确的代码正在正确的地方发射。我将您的代码复制到本地测试机器上,为了使事情正常工作,我不得不做一些调整。
发布于 2015-03-25 02:03:38
您的PHP中有一些缺陷:如果/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>
';
}
?>https://stackoverflow.com/questions/29245853
复制相似问题