PHP GET控制语句

时间:2009-06-23 04:48:11

标签: php html forms

<?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 } ?>

我想在回复时隐藏这个。它根本没有显示。

你能看到问题吗?

5 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

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

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

不确定您要对!$_GET['action'] == 'reply'

做些什么

答案 2 :(得分:2)

你应该做得更好:

<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>

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

答案 3 :(得分:0)

这样的事情怎么样?我认为使用“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是否有效,然后决定是否显示表单。

答案 4 :(得分:0)

我怀疑第一次点击此页面时,网址中没有操作参数。如果是这样,那么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; ?>