PHP GET управляющие операторы - PullRequest
1 голос
/ 23 июня 2009
<?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 ]

4 голосов
/ 23 июня 2009

1001 * попробовать * if (isset($_GET['action']) && $_GET['action'] !== 'reply') {

2 голосов
/ 23 июня 2009

Вы должны сделать лучше, как это:

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

Таким образом, вы можете добавить дополнительные действия, когда сможете ответить.

2 голосов
/ 23 июня 2009
if (isset($_GET['action']) && ($_GET['action'] == 'reply'))

или

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

Не уверен, что вы пытаетесь сделать с !$_GET['action'] == 'reply'

0 голосов
/ 23 июня 2009

Я подозреваю, что при первом посещении этой страницы в 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; ?>
0 голосов
/ 23 июня 2009

Как насчет этого? Я думаю, что использование «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 действительным или нет, а затем решите, показывать ли форму или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...