Проблема с PHP - PullRequest
       35

Проблема с PHP

0 голосов
/ 15 марта 2011
<?php
$url = $_SERVER['HTTP_HOST'];
if(stripos($url,'cp.utorrent.com')===true)echo "cp";
else echo "welcome uctorrent ...";
?>

для http://cp.uctorrent.com и http://www.cp.uctorrent.com вывод должен быть

ср

но в обоих случаях его печать

welcome uctorrent...

Ответы [ 5 ]

1 голос
/ 15 марта 2011

stripos никогда не вернет логическое ИСТИНА.Он вернет индекс или логическое значение ЛОЖЬ.

http://php.net/manual/en/function.stripos.php

1 голос
/ 15 марта 2011

От: http://php.net/manual/en/function.stripos.php

Returns the numeric position of the first occurrence 

Итак, вы получаете число, и вы проверяете, чтобы оно было того же типа и значения, что и "true". Поскольку это int, а не логическое значение, оно всегда будет ложным.

Разве ты не имеешь в виду !== false там?

1 голос
/ 15 марта 2011

stripos возвращает позицию строки, которая будет целым числом.И вы сравниваете его с === true

Таким образом, это условие будет ложным, если сравнивать целое и логическое значение.

Вам следует использовать это

$url = $_SERVER['HTTP_HOST'];
if(stripos($url,'cp.uctorrent.com')===FALSE)  // here in your code its cp.utorrent.com
   echo "welcome uctorrent ...";
else
   echo "cp";

Или

$url = $_SERVER['HTTP_HOST'];
if(stripos($url,'cp.uctorrent.com'))
    echo "cp";
else 
    echo "welcome uctorrent ...";
0 голосов
/ 15 марта 2011

Попробуйте это:

$url = $_SERVER['HTTP_HOST'];
if(stripos($url,'cp.utorrent.com') === FALSE) {
   echo "welcome uctorrent ...";
} else { 
   echo "cp";
}

Некоторые заметки здесь:

  • FALSE и TRUE являются константами. Это хорошая привычка использовать все заглавные буквы для констант.
  • Все кодовые блоки должны всегда иметь начальные и конечные фигурные скобки для удобства чтения.
  • стрипос - давняя боль, всегда проверяйте значение с помощью === FALSE
0 голосов
/ 15 марта 2011

stripos возвращает целое число, а не логическое значение, когда вхождение найдено

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