2012-06-10 2 views
-3

В настоящее время у меня есть этот код:PHP проблема пользовательских ошибок

<?php 
if (isset($_GET['s'])) { 
    $itemid = $_GET['s']; 
    $search = "$itemid"; 
    $query = ucwords($search); 
    echo "<title>Results for $query</title>"; 
    $string = file_get_contents('http://clubpenguincheatsnow.com/tools/newitemdatabase/items.php'); 
    if ($itemid == "") { 
     echo "Please fill out the form."; 
    } else { 
     echo '<div id="content">'; 
     $string = explode('<br>', $string); 
     foreach ($string as $row) { 
      preg_match('/^(.+)\s=\s(\d+)\s=\s(\D+)\s=\s(\d+)/', trim($row), $matches); 
      if (preg_match("/$query/i", "$matches[1]")) { 
       echo "<a href='http://clubpenguincheatsnow.com/tools/newitemdatabase/info.php?id=$matches[2]'>"; 
       echo $matches[1]; 
       echo "</a><br>"; 
      } 
     } 
     echo '</div>'; 
    } 
} else { 
    echo "Item does not exist!"; 
} 
?> 

Если «$ матчей [1]» не имеет никакого отношения к ней, я хочу, чтобы мой код, чтобы это эхо «Элемент не существует!» Как мне это сделать? Пожалуйста помоги!

Я раньше пробовал что-то вроде if ($matches[1]=="") { echo "Item does not exist!"; }, но это не сработало. Это то, что я получил:

http://img685.imageshack.us/img685/998/28990b2c12d0423292d3574.png

См отлично работает правильно? Посмотрите, что произойдет, если $ соответствует [1] существует:

http://img528.imageshack.us/img528/3690/71472c9de6ec49118ee8d48.png

Он по-прежнему идет вверх! Как я могу сделать свой код, чтобы он только искажал ошибку, если нет ничего для $ matches [1]? ПОЖАЛУЙСТА ПОМОГИТЕ!

Если вам интересно, это мой код, когда я добавил if ($matches[1]=="") { echo "Item does not exist!"; } в:

<?php 
if (isset($_GET['s'])) { 
    $itemid = $_GET['s']; 
    $search = "$itemid"; 
    $query = ucwords($search); 
    echo "<title>Results for $query</title>"; 
    $string = file_get_contents('http://clubpenguincheatsnow.com/tools/newitemdatabase/items.php'); 
    if ($itemid == "") { 
     echo "Please fill out the form."; 
    } else { 
     echo '<div id="content">'; 
     $string = explode('<br>', $string); 
     foreach ($string as $row) { 
      preg_match('/^(.+)\s=\s(\d+)\s=\s(\D+)\s=\s(\d+)/', trim($row), $matches); 
      if (preg_match("/$query/i", "$matches[1]")) { 
       echo "<a href='http://clubpenguincheatsnow.com/tools/newitemdatabase/info.php?id=$matches[2]'>"; 
       echo $matches[1]; 
       echo "</a><br>"; 
      } 
     } 
     echo '</div>'; 
     if ($matches[1] == "") { 
     echo "Item does not exist!"; 
     } 
    } 
} else { 
    echo "Item does not exist!"; 
} 
?> 

Любая помощь на мой вопрос будет высоко оценившего!

+2

Я хочу ** Черничный костюм кролика ** –

+0

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

+0

Помимо этого: Каков пример вопроса, который должен иметь тег '[scripting]'? Вопросы о написании переводчиков? Конечно, все вопросы ruby, python, php и т. Д. Не должны быть автоматически помечены сценарием только потому, что на одном из этих языков. –

ответ

0
else { 
    echo "Item does not exist!"; 
} 

Это "другое" в отношении isset($_GET['s']). Есть ли переменная с именем s в вашей строке запроса? Если этого не происходит, тогда нормально, что вы получаете сообщение.

Возможно, вы положили этот блок else в неправильное место?

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