【问题标题】:PHP GET control statementsPHP GET 控制语句
【发布时间】:2009-06-23 04:48:11
【问题描述】:
<?php if (isset($_GET['action']) && (!$_GET['action'] == 'reply')) { ?>
    <div class="actions">
        <input type="button" onclick="javascript: document.location='?threadID=<?=$threadID?>&action=reply';" value="Post reply" class="btn" />
    </div>
<?php } ?>

我想在我打电话回复时隐藏它。根本不显示。

你能看出问题吗?

【问题讨论】:

    标签: php html forms


    【解决方案1】:

    试试
    if (isset($_GET['action']) &amp;&amp; $_GET['action'] !== 'reply') {

    【讨论】:

      【解决方案2】:
      if (isset($_GET['action']) && ($_GET['action'] == 'reply'))
      

      或

      if (isset($_GET['action']) && ($_GET['action'] != 'reply'))
      

      不确定你想用!$_GET['action'] == 'reply'做什么

      【讨论】:

        【解决方案3】:

        你应该这样做更好:

        <div class="actions">
        <?php 
        if (isset($_GET['action']) && ($_GET['action'] != 'reply')) 
        { 
            echo '<input type="button" onclick="javascript: document.location='?threadID=<?=$threadID?>&action=reply';" value="Post reply" class="btn" />';
        } 
        ?>
        </div>
        

        这样您可以在回复时添加更多操作。

        【讨论】:

          【解决方案4】:

          我怀疑您第一次点击此页面时,URL 中没有操作参数。如果是这样,那么 isset() 将是错误的。此外,您可能想要 !=,而不是 ! ... == ....

          我还没有测试过这段代码,但我将从这里开始:

          <?php if (!isset($_GET['action']) || ($_GET['action'] != 'reply')) { ?>
              <div class="actions">
              <input type="button" onclick="javascript: document.location='?threadID=<?=$threadID?>&action=reply';" value="Post reply" class="btn" />
              </div>
          <?php } ?>
          

          我还发现这种格式更容易阅读:

          <?php if (!isset($_GET['action']) || ($_GET['action'] != 'reply')): ?>
              <div class="actions">
              <input type="button" onclick="javascript: document.location='?threadID=<?=$threadID?>&action=reply';" value="Post reply" class="btn" />
              </div>
          <?php endif; ?>
          

          【讨论】:

            【解决方案5】:

            这样的事情呢?我认为使用“POST”比通过“GET”传递它们更优雅,并且具有更多进一步开发的选择:

            <?php if(!isset($_POST['action'])){ ?>
              <form method="post">
                <input type="hidden" name="threadID" value="<? echo $threadID; ?>" />
                <input type="button" name="action" value="Post reply" class="btn" />
              </form>
            <?php } ?>
            

            只是一个小的附加说明:您可能想检查 threadID 是否有效,然后决定是否显示表单。

            【讨论】:

              猜你喜欢
              • 2012-04-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-02-16
              • 1970-01-01
              相关资源
              最近更新 更多