Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите найти ошибку
 
 автор: zip   (01.10.2005 в 21:47)   письмо автору
 
 

Форма поиска

<FORM name="formSear" action="/search/searchfunc.php" method="GET">
                <table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td width="90%"><p align="center">
<INPUT name="searWords" size="30" style="width: 100%;"></td>
        <td><INPUT name="Send" type="submit" value="Поиск"></td>
    </tr>
</table>
<p align="left">
</FORM>

Находится в header.php

searchfunc.php
<TITLE><?=$searWords?>. Поиск</TITLE>
<body>
<?php
include($_SERVER['DOCUMENT_ROOT']."/templates/header.php");
$StrYourSearch="Your search"
$StrNewSearch="New Search"
$StrCloseWindow="Close Window"
$StrFind="Find"
и т.д.

При поиске выдает, что не определена переменная $searWords в searchfunc.php.
В заголовке браузера пишет <br /> <b> Notice </b>: Undifinnet variable searWords in searchfunction.php </b> on line <b> 2 </b>
На первый взгляд все правильно. Поиск то работает. Результат выдает.
При чем вчера все работало на другой машине.
Я не могу понять как она может быть неопределенной если поиск то работает.
Функция поиска работает только после присвоения значения $searWords.

   
 
 автор: cheops   (01.10.2005 в 22:58)   письмо автору
 
   для: zip   (01.10.2005 в 21:47)
 

Notice является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE

Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php 
Error_Reporting
(E_ALL & ~E_NOTICE); 
?>

В качестве параметра, которой передать соответствующий уровень обработки ошибок.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4985

   
 
 автор: isset   (01.10.2005 в 23:35)   письмо автору
 
   для: cheops   (01.10.2005 в 22:58)
 

Опять вы игнорируете notice, а ведь они умную вещь говорят:)
Автор пытается использовать переменные в файле $_SERVER['DOCUMENT_ROOT']."/templates/header.php" до объявления самих переменных, поэтому код следует переписать так:

<TITLE><?=$searWords?>. Поиск</TITLE>
<body>
<?php
$StrYourSearch
="Your search"
$StrNewSearch="New Search"
$StrCloseWindow="Close Window"
$StrFind="Find"
и т.д
include(
$_SERVER['DOCUMENT_ROOT']."/templates/header.php");

   
 
 автор: cheops   (02.10.2005 в 00:36)   письмо автору
 
   для: isset   (01.10.2005 в 23:35)
 

В данном случае имеется фраза "Поиск то работает. Результат выдает." - т.е. нужно просто подавить вывод notice. Речь идёт о переменной $searWords - которая идёт в самом начале, поэтому вряд ли перестановка нижележащих переменных приведёт к подавлению вывода замечания...

   
 
 автор: zIP   (02.10.2005 в 01:41)   письмо автору
 
   для: cheops   (02.10.2005 в 00:36)
 

Так оно и есть . Переменная $searWords определяется не в посковой функции, а в форме поиска. Т.е. при вызове функции поиска переменная уже определена.
Отключил.
Все заработало.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования