|
|
|
|
|
для: hitball
(20.09.2017 в 16:44)
| | Вы не смотрите на то, что на странице, вы проанализируйте, что получаете после разбиения массива на части (array_chunk) и у вас гарантировано нет элемента с индексом 1 в нем. А так как в логах, это не ошибки, тем более не фатальные, то что есть в этом массиве будет выедено, чего нет - нет. Вот вам и кажется, что все Ок, чего еще надо.
PHP Notice: Undefined offset: 1 in view_articles.php on line 134
PHP Примечание: неопределенное смещение: 1 в view_articles.php в строке 134
(то есть нет в указанном массиве элемента к которому ссылаются)
PHP Warning: implode(): Invalid arguments passed in /view_articles.php on line 134
PHP Warning: implode (): неверные аргументы, переданные в /view_articles.php в строке 134
(то есть функция implode ожидает массив, а ей передается иное)
Учитесь выявлять причины, и самые простейшие для этого элементы инструменты, это echo, print_r, var_dump "сомнительных" переменных. | |
|
|
|
|
|
|
|
для: confirm
(20.09.2017 в 14:52)
| | вывод на экран идеальный - текст делится по абзацам и выводится реклама. Если бы не глянула в логи, никогда бы не подумала, что там ошибка | |
|
|
|
|
|
|
|
для: hitball
(20.09.2017 в 13:15)
| | Да, помню, речь была о разбиении текста по тегу параграфа. Но вы же пишите, что код строки 134, это:
<?=implode('</p>', $myrow["text"][1])?>
|
Где не разбиение, а обратная операция и вывод. Более того, если настройками подавлен вывод предупреждений, то интерпретатор примет значение несуществующей переменной равное null и в данном случае ничего не выведет.
Вы же пишите, что работа вообще заканчивается крахом (предупреждения не страшны, но они могут быть предпосылками дальнейших проблем, а по сему в режиме отладки вывод их должен быть включен).
Либо вы ошиблись строкой, либо массив $myrow["text"] имеет один элемент (согласно сообщению), а значит это
<?=implode('</p>', $myrow["text"][1])?>
нелогичный подход. Проанализируйте что получаете в $myrow["text"] простым выводом на экран. | |
|
|
|
|
|
|
|
для: confirm
(20.09.2017 в 11:57)
| | я думала, что мы так делили текст на несколько частей
<?
$myrow["text"] = explode('</p>', $myrow["text"]);
$myrow["text"] = array_chunk($myrow["text"], round(count($myrow["text"])/2));
?>
<h1><?=$myrow["title"]?></h1>
<div><img src='<?=$myrow["mini_img"]?>' />
<div >
<?=implode('</p>', $myrow["text"][0])?>
</p><script type="text/javascript"><!--
google_ad_client = "...";
/* pod_img */
google_ad_slot = "...";
google_ad_width = 125;
google_ad_height = 125;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<?=implode('</p>', $myrow["text"][1])?>
</p>
</div></div>
<p><?=$myrow["author"]?></p>
|
| |
|
|
|
|
|
|
|
для: hitball
(20.09.2017 в 11:00)
| | Что носится то, причина в том, что не существует элемента под индексом 1 в массиве $myrow["text"], попытка обращения которому в 134 строке - $myrow["text"][1].
Проверяйте, что такое $myrow["text"]? С чего вдруг $myrow["text"][1]? | |
|
|
|
|
|
|
|
для: confirm
(12.09.2017 в 14:15)
| | Добрый день! Все ношусь с этой проблемой.
Сервер в логах выдает эту ошибку
PHP Notice: Undefined offset: 1 in view_articles.php on line 134
PHP Warning: implode(): Invalid arguments passed in /view_articles.php on line 134
|
после чего выбивает сайт по ERR_CONNECTION_TIMED_OUT
думаю, что это может быть из-за большого обращения посетителей к этой странице. Может такое быть?
И я совершенно не знаю как это исправить и сделать проверку! | |
|
|
|
|
|
|
|
для: hitball
(12.09.2017 в 11:27)
| | Сообщение гласит о том, что в массиве $myrow["text"] указанного смещения $myrow["text"][1], а значит и implode не может быть выполнено. То есть после разбиения массива array_chunk($myrow["text"], .... в нем всего один элемент. Проверять нужно. | |
|
|
|
|
|
|
|
для: confirm
(24.01.2015 в 19:22)
| | Здравствуйте! Если логи сервера выдают ошибку
PHP Notice: Undefined offset: 1 in /var/www/.../view_articles.php on line 134
PHP Warning: implode(): Invalid arguments passed in /var/www..../view_articles.php on line 134
а на линии 134 как раз этот кусок
<?=implode('</p>', $myrow["text"][1])?>
|
из кода
<?
$myrow["text"] = explode('</p>', $myrow["text"]);
$myrow["text"] = array_chunk($myrow["text"], round(count($myrow["text"])/2));
?>
<?=implode('</p>', $myrow["text"][0])?>
</p>
<center> <?php include ("blocks/gogle.php"); ?> </center>
<?=implode('</p>', $myrow["text"][1])?>
</p>
|
как это исправить? | |
|
|
|
|
|
|
|
для: confirm
(29.03.2013 в 21:40)
| | confirm, огромное вам человеческое спасибо через четыре года! только сейчас заметила ваш ответ! Тогда так и не решила вопрос, а сегодня пришлось снова им занятся и единственное место где нашла ответ - это здесь! СПАСИБИЩЕ!!! | |
|
|
|
|
|
|
|
для: bond007
(24.01.2015 в 13:05)
| | Да это не мой вариант, а ваш, описанный функциями РНР. Если ничего не выводится, значит где-то у вас допущена ошибка. Выполните этот пример отдельно:
<?
$delim = 3;
$insert = '<p>BLOCK</p>';
$text = '<p>A</p><p>B</p><p>C</p><p>D</p><p>F</p><p>G</p><p>H</p>';
$text = explode('</p>', $text);
echo implode('</p>', array_slice($text, 0, $delim)) . '</p>' .
$insert .
implode('</p>', array_slice($text, $delim)) . '</p>';
|
Все выводится, и абзац с текстом BLOCK будет включен в вывод как указано, после 3 параграфа. | |
|
|
|
|