Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Избегание ошибок 
:(
    Опции темы
Shark
Дата 20.5.2009, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



чтобы избежать ошибку Notice: Undefined index: id_ses in нужно обязательно указывать isset() или можно каким-то другим способом ее решить?


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
godvinn
Дата 20.5.2009, 01:16 (ссылка)    | (голосов:8) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 4.4.2008
Где: possibility of mo ving to Kyiv

Репутация: 1
Всего: 1



а просто подавить знаком @ не получаеться *?


--------------------
Everything happens in life.
user posted image
PM MAIL   Вверх
Shark
Дата 20.5.2009, 01:46 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



godvinn, если поставить знак @, то тогда ниодна ошибка не появится...


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
Sanchezzz
  Дата 20.5.2009, 05:17 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



переменные объявить  пробовали?

(string)$str = '';
(int)$int      = 0; 

можно без (int string итд) 



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
bars80080
Дата 20.5.2009, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Shark @  20.5.2009,  00:36 Найти цитируемый пост)
нужно обязательно указывать isset() или можно каким-то другим способом ее решить? 


о прописных истинах, о которых всё же надо сказать, ибо вопросы возникают неспроста


вообще, данный вопрос не имеет на самом деле проблемы в себе. тут ведь очень просто: как ты можешь использовать переменные, если не знаешь есть они или нет. а если знаешь, то она уже решена

в любой задаче данные просто не могут ниоткуда взяться, если вы её хотите решить грамотно, без дальнейших сюрпризов в дальнейшим (наподобии ошибок, взлома системы, порчи данных), то надо изначально объявлять переменные

здесь подойдут isset и empty, но в каждом конкретном случае своя проверка
у тех кто начинает кодить возникает естественная лень по этому поводу. переменных много, а наблюдать кучу строк 
Код

if(!empty($_POST['day'])) $day = intval($_POST['day']); $day = 0;
if(!empty($_POST['month'])) $month = intval($_POST['month']); $month= 0;
if(!empty($_POST['year'])) $year = intval($_POST['year']); $year = 0;
в начале скрипта глаз ломается. однако, возникает резонный вопрос, почему не воспользоваться навыком программирования и упростить себе задачу.

к примеру, мне из формы должны придти ряд числовых параметров. я пишу что-то вроде:

Код

$HTML->input(array('day', 'month', 'year'), 'int', 0);


что выглядит гораздо короче чем предыдущий кусок кода, а внутренние обработчики сделают что надо и вернут соответствующие переменные (имхо, лучше они будут не вида $day, а вида $HTML->i['day'], т.е. в специальном массиве под входящие переменные, дабы они не перезатирались). но что самое главное, мы получаем гарантировано существующую переменную, уже приведённую к нужному (числовому) виду
PM MAIL WWW   Вверх
primesite
Дата 20.5.2009, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 19.5.2009

Репутация: нет
Всего: нет



А поверку существования индексов (или ключей) в  массивах лучше всего сделать специально предназначенной для этого ф-ей:

http://ru2.php.net/array_key_exists
PM MAIL WWW   Вверх
Shark
Дата 20.5.2009, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



а если такой код:
Код

$count_postpages=mysql_query("SELECT * FROM ***WHERE id_user='".$_SESSION['id']."'") or die ("Ошибка при выборе количества сообщений на страницу");
$count_postpage=mysql_fetch_array($count_postpages);
$num  =  $count_postpage['postpages'] ; 
$page  =  $_GET [ 'page' ];  //в этой строке ошибка

        $newss  =  mysql_query ( "SELECT COUNT(*) FROM *** WHERE id_for=".$_GET['showforum']." AND id_top=".$_GET['showtopic']." AND id_cat=".$_GET['showcat']."" ); 
        $p  =  mysql_result ( $newss,0 ); 
        
        $total  =  intval (( $p  -  1 ) /  $num ) +  1 ; 

        $page  =  intval ( $page ); 

        if(empty( $page ))  $page  =  1 ; 
        if( $page  >  $total )  $page  =  $total ; 
        
        $start  =  $page  *  $num  -  $num ; 
        
    echo "<table border=0 width=70% align=center style='border-collapse:collapse;table-layout:fixed;'><tr><td>
                <div align=left><font size=2>Страница: ";

        if ( $page  !=  1 ) $pervpage  =  "<a href=".$PHP_SELF."?showcat=".$_GET['showcat']."&showforum=".$_GET['showforum']."&showtopic=".$_GET['showtopic']."&page="."1"."> <<</a> 
                <a href=".$PHP_SELF."?showcat=".$_GET['showcat']."&showforum=".$_GET['showforum']."&showtopic=".$_GET['showtopic']."&page=" . ( $page  -  1 ). "><</a> " ;  //в этой строке ошибка
            

        if ( $page  !=  $total ) $nextpage  =   "<a href=".$PHP_SELF."?showcat=".$_GET['showcat']."&showforum=".$_GET['showforum']."&showtopic=".$_GET['showtopic']."&page=" . ( $page  +  1 ). "> ></a> 
                <a href=".$PHP_SELF."?showcat=".$_GET['showcat']."&showforum=".$_GET['showforum']."&showtopic=".$_GET['showtopic']."&page="  . $total .  ">>></a>" ; 
            

        if( $page  -  2  >  0 )  $page2left  =  " <a href=".$PHP_SELF."?showcat=".$_GET['showcat']."&showforum=".$_GET['showforum']."&showtopic=".$_GET['showtopic']."&page=" . ( $page  -  2 ). ">" . ( $page  - 2 ). "</a> | " ; 
        if( $page  -  1  >  0 )  $page1left  =  " <a href=".$PHP_SELF."?showcat=".$_GET['showcat']."&showforum=".$_GET['showforum']."&showtopic=".$_GET['showtopic']."&page=" . ( $page  -  1 ). ">" . ( $page  - 1 ). "</a> | " ; 
        if( $page  +  2  <=  $total )  $page2right  =  " | <a href=".$PHP_SELF."?showcat=".$_GET['showcat']."&showforum=".$_GET['showforum']."&showtopic=".$_GET['showtopic']."&page=" . ( $page  +  2 ). ">" . ( $page  +  2 ). "</a>" ; 
        if( $page  +  1  <=  $total )  $page1right  =  " | <a href=".$PHP_SELF."?showcat=".$_GET['showcat']."&showforum=".$_GET['showforum']."&showtopic=".$_GET['showtopic']."&page=" . ( $page  +  1 ). ">" . ( $page  +  1 ). "</a>" ;  //в этой строке ошибка

        echo  $pervpage . $page2left . $page1left . "<b>" . $page . "</b>" . $page1right . $page2right . $nextpage ; //в этой строке ошибка
        echo "</div></font></td></tr></table>";


Это сообщение отредактировал(а) Shark - 20.5.2009, 15:07


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
s0lman
Дата 20.5.2009, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Цитата(Shark @  20.5.2009,  15:01 Найти цитируемый пост)
а если такой код

А в чем вопрос?  smile 


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
Shark
Дата 20.5.2009, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



s0lman, а Вы почтайте первый пост


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
s0lman
Дата 20.5.2009, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Для строки 4 можно, например
Код

if(isset($_GET [ 'page' ])){$page  =  $_GET [ 'page' ];}else{$page=0;}

Или $page=1, как там нумерация идет
В остальных трех случаях выложите полный текст ошибок smile


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
Shark
Дата 20.5.2009, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



s0lman, ошибка точно такая же Notice: Undefined index: (указана переменная)... в своем коде я наисал комменты где эта ошиба!


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
primesite
Дата 20.5.2009, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 19.5.2009

Репутация: нет
Всего: нет



Тогда так:
Код

$page = array_key_exists('page', $_GET) ?  $_GET[ 'page' ] : 0;

PM MAIL WWW   Вверх
s0lman
Дата 20.5.2009, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Shark,  как я могу судить, в вашем коде не определа переменная $page. 
Если в 4-й строке вы ее определили, то нотайс вылетать не должен бы...


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
Shark
Дата 20.5.2009, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



помимо этой строчки:
Код

$page  =  $_GET [ 'page' ]; 

есть и другие ошибки...
прокрутите мой код вниз и вправо и почитайте коммы...

с этим
Код

$page  =  $_GET [ 'page' ]; 

я уже понял


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
bars80080
Дата 20.5.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



и ты не можешь вставить проверку для переменной с указанным индексом? (который, кстати, ты оставил в тайне от нас)

это во-первых, во-вторых, совать чистые необработанные $_GET - верх кощунства. гибель базы, гибель пользователей, имевших горькую участь зайти на ваш сайт, и т.д....
PM MAIL WWW   Вверх
Shark
Дата 20.5.2009, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



bars80080, про какой индекс ты имеешь ввиду?...
1. это вывод ссылок на страницы...
2. где была ошибка я ставил isset()
3. только после этих иссетов у меня выводилось Старница: 111, а не Страница: 1 | 2 > >>


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
Photon
Дата 20.5.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: 10
Всего: 12



У тебя куча переменных из массива $_GET.
Ты твёрдо уверен в их существовании?

И в начале заменить 
Код

$page = $_GET['page'];

на
Код

$page = array_key_exists('page', $_GET)? $_GET[ 'page' ]:1;



P.S.  Вот тебе твой код с поправками..  Так должно работать..   Только обрати внимание на 6, 7 и 8 строки..  Я ж не знаю, какие у тебя минимальные значения

Код

    $res = mysql_query("SELECT * FROM *** WHERE id_user='".$_SESSION['id']."'") or die ("Ошибка при выборе количества сообщений на страницу");
    $count_postpage = mysql_fetch_array($res);
    $num = $count_postpage['postpages'] ; 
    $page = array_key_exists('page', $_GET)?$_GET['page']:1;

    $showforum = array_key_exists('showforum', $_GET)?$_GET['showforum']:1;
    $showtopic = array_key_exists('showtopic', $_GET)?$_GET['showtopic']:1;                                               
    $showcat = array_key_exists('showcat', $_GET)?$_GET['showcat']:1;
    
    $newss = mysql_query ( "SELECT COUNT(*) FROM *** WHERE id_for=".$showforum." AND id_top=".$showtopic." AND id_cat=".$showcat."" ); 
    $p     = mysql_result ( $newss,0 ); 
    $total = intval(($p - 1) / $num) + 1; 
    if($page > $total)  
        $page = $total ; 
    $start = $page * $num - $num ; 
        
    echo "<table border=0 width=70% align=center style='border-collapse:collapse;table-layout:fixed;'><tr><td>
                <div align=left><font size=2>Страница: ";
    if ($page != 1) 
        $pervpage = "<a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page=1'> <<</a> 
                     <a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page=".($page - 1)."'><</a> " ;
    if ($page != $total) 
        $nextpage = "<a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page=" . ( $page  +  1 ). "'> ></a> 
                     <a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page="  . $total .  "'>>></a>" ; 
    if ($page - 2 > 0)  
        $page2left = " <a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page=" . ( $page  -  2 ). ">" . ( $page  - 2 ). "</a> | " ; 
    if ($page - 1 > 0)  
        $page1left = " <a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page=" . ( $page  -  1 ). ">" . ( $page  - 1 ). "</a> | " ; 
    if ($page + 2 <= $total)  
        $page2right = " | <a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page=" . ( $page  +  2 ). ">" . ( $page  +  2 ). "</a>" ; 
    if ($page + 1 <= $total)  
        $page1right = " | <a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page=" . ( $page  +  1 ). ">" . ( $page  +  1 ). "</a>" ;

    echo  $pervpage . $page2left . $page1left . "<b>" . $page . "</b>" . $page1right . $page2right . $nextpage ;
    echo "</div></font></td></tr></table>";



И еще вопрос..  У тебя куча одинакового кода повторяется..  Ты не думал, что его можно как-то по-другому выводить?

Это сообщение отредактировал(а) Photon - 20.5.2009, 22:56


--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
Shark
Дата 20.5.2009, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



работает, НО:
Код

Notice: Undefined variable: page2left in *** on line 197
Notice: Undefined variable: pervpage in *** on line 197
Notice: Undefined variable: page1left in *** on line 197


это если от выбранной странице в левую сторону нельзя выбрать страницы, и так же с правой стороной... если выбрать 3 страницу... то эти ошибки исчезают

другими словами вот в этой части:
Код

echo  $pervpage . $page2left . $page1left . "<b>" . $page . "</b>" . $page1right . $page2right . $nextpage ;



--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
Photon
Дата 21.5.2009, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: 10
Всего: 12



Ну тут можно сделать все проще..

Код

$res = mysql_query("SELECT * FROM *** WHERE id_user='".$_SESSION['id']."'") or die ("Ошибка при выборе количества сообщений на страницу");
$count_postpage = mysql_fetch_array($res);
$num = $count_postpage['postpages'] ; 
$page = array_key_exists('page', $_GET)?$_GET['page']:1;

$showforum = array_key_exists('showforum', $_GET)?$_GET['showforum']:1;
$showtopic = array_key_exists('showtopic', $_GET)?$_GET['showtopic']:1;                                               
$showcat = array_key_exists('showcat', $_GET)?$_GET['showcat']:1;
    
$newss = mysql_query ( "SELECT COUNT(*) FROM *** WHERE id_for=".$showforum." AND id_top=".$showtopic." AND id_cat=".$showcat."" ); 
$p = mysql_result ( $newss,0 ); 
$total = intval(($p - 1) / $num) + 1; 
if($page > $total)  
    $page = $total ; 


Оставляем этот кусок и добавляем:

Код

$side = 2;
if ($page > $side)
    $start = $page - $side;
else
    $start = 1;
if ($page+$side < $total)
    $end = $page+$side+1;
else
    $end = $total;
if ($start > 1) {
    $left = $page-1;
    echo "<a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page=1' title='Первая страница'>&lt;&lt;&lt;</a>";
    echo "&nbsp;<a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page={$left}' title='Предыдущая страница'>&lt;</a>&nbsp;";
}
for ($i = $start; $i < $end; $i++)
    if ($i != $page) {
        echo "<a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page={$i}'>{$i}</a>&nbsp;";
        if ($i < $end - 1)
            echo "|&nbsp;";
    }
    else {
        echo "<strong>{$i}</strong>&nbsp;";
        if ($i < $end - 1) 
            echo "|&nbsp;";
    }
if ($end < $total) {
    $right = $page+1;
    echo "<a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page={$right}' title='Следующая страница'>&gt;</a>&nbsp;";
    echo "<a href='".$_SERVER['PHP_SELF']."?showcat=".$showcat."&showforum=".$showforum."&showtopic=".$showtopic."&page={$total}' title='Последняя страница'>&gt;&gt;&gt;</a>";
}



Попробуй..  Если не будет работать, значит я что-то недосмотрел и забыл взять из твоего кода.

Это сообщение отредактировал(а) Photon - 21.5.2009, 00:22


--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
Shark
Дата 21.5.2009, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



Photon, та же самая ошибка... что с твоими изменениями, что без них


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
Photon
Дата 23.5.2009, 04:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: 10
Всего: 12



Та же самая - это какая?


--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
Shark
Дата 23.5.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



Цитата

Notice: Undefined variable: page2left in *** on line 197
Notice: Undefined variable: pervpage in *** on line 197
Notice: Undefined variable: page1left in *** on line 197
эта


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
NLspieler
Дата 23.5.2009, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



У меня почему то никогда не возникало подобных проблем. 
Наверное сервер настроен так, что не существующие переменные воспринемает как пустое значение.

Например если написать такой скрипт.

Код

<?php

echo 'Hallo' . $var ;

?>


То результатом будет просто Hallo. Думал, что так и должно быть и даже использовал это свойство. Теперь вот появились сомнения...

PM MAIL   Вверх
enof
Дата 23.5.2009, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Значит E_NOTICE не включен в вывод ошибок. И причем здесь сервер? smile 
PM MAIL ICQ Skype   Вверх
NLspieler
Дата 23.5.2009, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



enof , а это может быть черевато какими либо последствиями?
PM MAIL   Вверх
enof
Дата 23.5.2009, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Это просто предупреждение, что юзается неопределенная переменная. Предупреждение может натолкнуть на некоторые мысли, что где-то косяк. Если нужно пустое значение, которое может измениться, а может и нет, то я делаю примерно так:
Код

$var = '';

По крайней мере мне так удобнее, чем юзать что-то неопределенное. Ну и не валятся нотайсы.
PM MAIL ICQ Skype   Вверх
Shark
Дата 23.5.2009, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



NLspieler
Цитата

<?php

echo 'Hallo' . $var ;

?>

прежде чем, написать это сообщение, я попробовал тоже самое.... это тут не причем!

enof
Код

 $var = ''; 

а что делать если переменная может существовать и может не существовать!!!???т.е. именно тут?
Код

    echo  $pervpage . $page2left . $page1left . "<b>" . $page . "</b>" . $page1right . $page2right . $nextpage ;

если у меня открыта первая страница.. появляется ошибка!!! а если 3-я.. то ошибки нет!
ошибка все таже!.. неизвестная переменная!


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
enof
Дата 23.5.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Она должна существовать, определите ее и все, в чем проблема?

Добавлено через 17 секунд
Цитата(Shark @  23.5.2009,  23:25 Найти цитируемый пост)
ошибка

это не ошибка

Добавлено через 41 секунду
Цитата(Shark @  23.5.2009,  23:25 Найти цитируемый пост)
!!!???

Цитата(Shark @  23.5.2009,  23:25 Найти цитируемый пост)
!!!

 smile  smile 
PM MAIL ICQ Skype   Вверх
Shark
Дата 23.5.2009, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



а как?


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
enof
Дата 24.5.2009, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



А есть еще какой-то способ?
Код

$var = '';

Цитата(Shark @  23.5.2009,  23:25 Найти цитируемый пост)
а что делать если переменная может существовать и может не существовать

Переменная используется, но при этом может и не существовать, не логично как-то получается. Не стоит зацикливаться на этом.
PM MAIL ICQ Skype   Вверх
Shark
Дата 24.5.2009, 02:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



enof, ты хочешь сказать, что так надо писать:
Код

    echo  if($pervpage >= 0)
              { 
                  echo "";
                }
??? это же бред


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
unicross
Дата 24.5.2009, 02:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



Цитата(Shark @  24.5.2009,  02:11 Найти цитируемый пост)
enof, ты хочешь сказать, что так надо писать:

Shark, неужеле так сложно объявить переменные в начале скрипта?
Код

$page2left = '';
$pervpage = '';
$page1left = '';

PM MAIL WWW   Вверх
enof
Дата 24.5.2009, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Цитата(Shark @  24.5.2009,  03:11 Найти цитируемый пост)
ты хочешь сказать, что так надо писать

это ты откуда такое придумал? я этого не говорил. К тому же этот кусок кода тоже будет нотайс выдавать.

PM MAIL ICQ Skype   Вверх
Photon
Дата 25.5.2009, 06:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: 10
Всего: 12



Shark, где в том, что я написал, переменные $page2left, $pervpage и $page1left?

Если они у тебя где-то дальше используются, то это значит только то, что ты не весь код показал здесь..


Это сообщение отредактировал(а) Photon - 25.5.2009, 16:15


--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1870 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.