首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP在网站制作平台中显示/隐藏表单

PHP在网站制作平台中显示/隐藏表单
EN

Stack Overflow用户
提问于 2015-03-25 01:16:03
回答 3查看 76关注 0票数 0

我正在使用这个站点来创建一个网站。这个网站制造者很容易使用,因为元素只是拖放,但你也可以添加你的HTML代码。

在我的一个页面中,我插入了一个HTML代码,这是一个表单。表单的过程是询问密码,然后使用GET方法,它将检查密码是否正确,如果正确,将显示另一个表单。我使用PHP语言来处理密码的检查。我遇到的问题是,当输入正确的密码时,即使我输入了正确的id,它也不会显示任何内容。这是预览站点

HTML代码

代码语言:javascript
复制
<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>

代码语言:javascript
复制
<?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
  }
?>
EN

回答 3

Stack Overflow用户

发布于 2015-03-25 01:44:55

仅从预览网站判断,我说这是一个问题,与您正在使用的平台。提交带有get方法的表单后,您应该会看到URL中的值。当我提交密码时,URL没有变化。

票数 0
EN

Stack Overflow用户

发布于 2015-03-25 01:58:19

您面临的部分问题是,当密码不正确时,您将调用location.reload();来重新加载页面。GET是在URL中输入密码,所以每次页面重新加载时,它都会重新评估它是否正确,并再次重新加载(因为它仍然不正确)。一圈。

我建议将表单方法从GET更改为POST。

为了进一步缩小这个问题,简化一下JavaScript。例如,不要调用一些jQuery函数:

代码语言:javascript
复制
<script type="text/javascript">
$('#password').hide();
$('#transfer').show();
</script>

也许只需尝试一些简单的警报语句(例如,警报(‘密码良好’);直到您知道正确的代码正在正确的地方发射。我将您的代码复制到本地测试机器上,为了使事情正常工作,我不得不做一些调整。

票数 0
EN

Stack Overflow用户

发布于 2015-03-25 02:03:38

您的PHP中有一些缺陷:如果/else集在PHP之外不能工作,则它们需要终止。例如:

代码语言:javascript
复制
<?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>
';
}
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29245853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档