2015-03-05 3 views
0

Я хочу показывать только форму, если автор сообщения не является текущим пользователем. Однако приведенный ниже код отображает форму html независимо от того, какое условие выполняется в IF-заявлении или нет. Возможно, это не допустимый способ запуска условного HTML-кода с php?PHP условный оператор IF для отображения формы HTML

<?php 
//The form, only displayed on condition 

if($author !== $user_ID) 
{ 
?> 

<form action="" method="post"> 
<button type="submit">Contact</button> 
<input type="hidden" name="contact" value="<?php echo $CID; ?>"> 
</form> 

<?php 
} 
?> 
+2

этот код, кажется, хорошо. Что такое '$ author' и' $ user_ID'? Попробуйте 'var_dump' их. Вы сравниваете '! ==', поэтому, если один из них является числом, второй - строкой, он возвращает false. '2 == '2'', но' 2! ==' 2''. – panther

+0

возможно $ author - это строка (например, «1»), а $ useR_ID - это int (1). попробуйте лить в int или использовать! = –

ответ

0

использования! = Вместо ==!

<?php 
//The form, only displayed on condition 

if($author != $user_ID) 
{ 
?> 

<form action="" method="post"> 
<button type="submit">Contact</button> 
<input type="hidden" name="contact" value="<?php echo $CID; ?>"> 
</form> 

<?php 
} 
?> 
+0

Не могли бы вы объяснить, почему он использовал '! =' вместо '! =='. – Darren

+0

! = Не будет соответствовать типу данных значения. В этом случае 1! = '1' также вернет false – manoj

+0

Но не '===' соответствует типу данных ... где '==' сравнивает значения. – Darren

Смежные вопросы