2013-08-21 2 views
0

у меня есть этот код:Пример эхо ошибки на моем сайте

<?php if(@$_GET['show']){ echo $_GET['show']; } ?> 

и это ошибка:

Parse error: syntax error, unexpected '[' in C:\wamp\www\echo\index.php on line 1 

чем проблема?

+6

удалите '@' из вашего кода! – alfasin

+1

Когда есть несколько случаев потенциальной проблемы, рекомендуется помещать их в отдельные строки, чтобы ваше сообщение об ошибке имело больше смысла. – Jasper

+0

@alfasin «@», по-видимому, просто для подавления предупреждения «Плохой индекс». Как это поможет с этой ошибкой? – Barmar

ответ

4

Пытался локально и никакой ошибки здесь.

Кстати, вместо того, чтобы пытаться подавить любые сообщения об ошибках, используя знак @, вы можете выполнить реальную проверку переменной. Читайте, почему это плохо right from the source.

Я предполагаю, что вы хотите предотвратить ошибку, когда значение $_GET['show'] не установлено. В этом случае вы должны использовать isset():

if (isset ($_GET['show'])) { echo $_GET['show']; } 
+0

Я пробовал этот код, это не работает. –

+0

Как это не работает? Это вызвало какую-либо ошибку или просто не сработало? Можете ли вы опубликовать значение 'var_dump ($ _ GET);' для нас? Предпочтительно в оригинальной публикации. – Sutandiono

1

Почему вы пытаетесь подавить ошибку (другими словами, используя @) $_GET? Вы действительно не должны подавлять ошибки где угодно.

Вместо этого просто:

<?php if (!empty($_GET['show'])) { echo $_GET['show']; } ?> 
+2

Вам не нужно 'isset', если вы проверяете'! Empty'. – jantimon

+0

Это должен быть комментарий, а не ответ. И кто-то еще уже сделал этот комментарий. – Barmar

+0

@Barmar Это обеспечивает решение его проблемы. Ergo, это ответ –

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