2015-07-03 2 views
-2

Хорошо, Так что я if(!empty($_GET['s']) && strpos($_GET['s'],'tt') !== false) {PHP - Если строка содержит

Что все хорошо, если они делают s = ttBlaBla все они хороши,

Но из-за чего моя страница делает, если они идут непосредственно? ? s = tt или? s = BlaBla - это очень плохо.

Как я могу получить его, чтобы убедиться, что tt находится в $ _GET ['s'], но проверьте, что он не сам по себе?

Becuase strpos только проверяет, действительно ли его в строке в любом месте, поэтому использование $ strpos не работает, по крайней мере, насколько мне известно.

+1

Вы могли бы сделать 'STRLEN ($ _ GET [ 's'])> 2' в этом тесте, а – RiggsFolly

+0

RiggsFolly как в качестве замены! Пусто ($ _ GET [ 's']) && strpos ($ _ GET ['s'], 'tt'? – Kyubeh2435436

+0

Нет 'if (! empty ($ _ GET ['s']) && strpos ($ _ GET ['s'], 'tt')! == false && strlen ($ _ GET ['s'])> 2') – RiggsFolly

ответ

2

Добавить еще один чек, то

&& $_GET['s']!='tt' 
+0

Хорошо, но помните, что он не может иметь только tt, и он не может иметь BlaBla, а BlaBla может быть любым пользователем. – Kyubeh2435436

+0

как насчет использования preg_match? – Med

+0

Подождите hanky, просто имея это: 'if (! Empty ($ _ GET ['s']) && $ _GET ['s']! = 'Tt' && strpos ($ _ GET ['s'], 'tt') ! == false) {'работает отлично, он запрещает иметь просто blabla, а также запрещает просто получать благодарность :) – Kyubeh2435436

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