Проблема с файлами index.php

WMix

герр M:)ller
Партнер клуба
А ты колеса пинал?
- Пинал...
- А багажником хлопал?
- Хлопал...
- А свет включал-выключал?
- Включал-выключал...
- Ну извини, братуха, ничем не могу помочь..
 
Последнее редактирование:

vasinsky

Новичок
вы опасно делаете) и ещё пытаетесь ловить ошибки после того где мы их ждём

Код:
if (mysql_num_rows($result) > 0)      
      $myrow = mysql_fetch_assoc($result);
error_reporting(-1);
1. error_reporting(-1) - пропишите до session_start() - чтобы ловить нотисы и ошибки с самого начала
2. вы не проверяете $myrow - а если массив не создастся???

напишите так что ли

Код:
if (mysql_num_rows($result) > 0){        
      $myrow = mysql_fetch_assoc($result);
     //чтобы не писать каждый раз htmlspecialchars
     $myrow = array_map('htmlspecialchars', $myrow);
}
else
      $myrow = array('meta_d'=>'не определено','meta_k'=>'не определено','title'=>'не определено');
 

vasinsky

Новичок
WMix, зачем флудить? не чего сказать - пройдите мимо.
ТС анекдоты на специал. ресурсах почитать может.
 

WMix

герр M:)ller
Партнер клуба
vasinsky, этот анекдот про кодировку базы данных и страницы на вопрос почему пусто! ошибка глупая и явно в другом месте ( хотяб потому что после замены рабочим файлом результат не изменился ), не обижайся, очень приятно что тебе тут нравится.
 

vasinsky

Новичок
))блин, я думал от ТС новости есть...

у него var_dump() показал содержимое массива.

если предыдущие варианты не помогут - остаётся убрать htmlspecialchars(), но веры на этот момент у меня 0,1%
 

WMix

герр M:)ller
Партнер клуба
ему нужно просто обратить внимание на то что он делает. ошибка в действиях.
ну или злосный хакер в ./blocks/db.php написал ob_start() а в ./blocks/footer.php preg_replace()
 

vasinsky

Новичок
это поповский код. попов такому не учил, по крайней мере мне бедалаги с такими моментами не попадались

если он нас правильно понял и правильно сделал - то получается:

-запрос в бд
-получение ответа
-преобразование в ассоц. массив
- var_dump() - данные есть
- попытка использовать эти данные - болт

нет промежуточных моментов, вот и остаётся только error_reporting(-1) в правильном месте и htmlspecialchars()
 

AmdY

Пью пиво
Команда форума
блин, ты столько нафлудил, что так и не понятно, заглянул ли ТС в исходный код полученной страницы. А то эти htmlspecialchars без кодировки могут неправильно наэкранировать.
 

vasinsky

Новичок
заглянул - там пусто в метатегах

да, пускай так попробует указать

PHP:
htmlspecialchars ($myrow['meta_d'], ENT_COMPAT, 'windows-1251');
 

Wladim

Новичок
vasinsky,error_reporting(-1) - прописал до session_start() - ничего не выдало (об ошибке) и ничего не изменилось
Проверил $myrow
if (mysql_num_rows($result) > 0){
$myrow = mysql_fetch_assoc($result);
//чтобы не писать каждый раз htmlspecialchars
$myrow = array_map('htmlspecialchars', $myrow);
}
else
$myrow = array('meta_d'=>'не определено','meta_k'=>'не определено','title'=>'не определено');
Выдало: Warning: array_map(): Argument #2 should be an array in N:\home\service\www\index.php on line 41. т.е. ошибка в строке
$myrow = array_map('htmlspecialchars', $myrow);
Вместо charset=windows-1251 вставил ENT_COMPAT, 'windows-1251' - без изменений...
 

artoodetoo

великий и ужасный
vasinsky,error_reporting(-1) - прописал до session_start() - ничего не выдало (об ошибке) и ничего не изменилось
Проверил $myrow Выдало: Warning: array_map(): Argument #2 should be an array in N:\home\service\www\index.php on line 41. т.е. ошибка в строкеВместо charset=windows-1251 вставил ENT_COMPAT, 'windows-1251' - без изменений...
т.е. $myrow у вас не массив, а false. это всё объясняет. mysql_fetch_assoc() ничего не прочитал.
 

vasinsky

Новичок
балин.. вы же var_dump($myrow) нам показывали... - там у вас массив был
щас оказывается не массив.

вы порядок у себя наведите
 

Wladim

Новичок
Понятно... что ничего не понятно.
Если $myrow - не массив в неработающем файле, то то же самый массив в работающем файле, тем более, что выборка идёт из одной БД.
А то, что var_dump($myrow) вначале показывал наличие массива, так я сейчас снова проверил и - NULL
 

vasinsky

Новичок
вы так делали?

PHP:
if(!$result) 
    echo mysql_error();
else{
    if (mysql_num_rows($result) > 0){      
          $myrow = mysql_fetch_assoc($result);
    }
    else
          $myrow = array('meta_d'=>'не определено','meta_k'=>'не определено','title'=>'не определено');
}
 

Wladim

Новичок
Делал так и в результате - всё красиво, без ошибок но и без title и всего остального.
 

vasinsky

Новичок
Делал так и в результате - всё красиво, без ошибок но и без title и всего остального.
вы подробней рассказывайте, не стесняйтесь - цвет глаз, рост

в title что попадает?

а если вместо
PHP:
echo mysql_error();
написать
PHP:
exit(mysql_error());
?
 
Сверху