Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Модуль Биография Актеров

Модуль Биография Актеров


     31.07.2014    Общие вопросы по PHP    2002

вопрос
Здравствуйте, помогите спецы.

В общем скачал модуль Биография Актеров, поставил для своих целей.

И все бы хорошо, но вот при редактировании новости, если поле актеры исправить, значение в базе не обновляеться а просто отчищяеться :(

Если не брать это то модуль работает.

В чем именно ошибка, я сам не могу разобраться.
Я так понимаю что проблема именно в editnews.php
Вот правки которые в него нужно было в носить.




Вот весь файл по установке


Если надо могу скинуть архив с модулем.


Спасибо за помощь товарищи.

Ответил: alexgut


То есть если запись обнуляется то проблема где-то тут
"UPDATE " . PREFIX . "_post set title='$title', actors='$actors_list',


То есть $actors_list не содержит данных.

Формируеться он тут
 $exp_action[$expires['action']] = "selected=\"selected\"";    
    foreach ( unserialize($row['actors']) as $alt_name => $name ) $actors_array[] = $name;


А берется из поля
  <tr>
        <td colspan="2"><div class="hr_line"></div></td>
    </tr>
    <tr>
        <td height="29" style="padding-left:5px;">Актёры</td>
        <td><textarea rows="7" name="actors" style="width:98%;" class="bk">{$actors}</textarea></td>
    </tr>



В чем тут ошибка? :/

Комментарии пользователей (10)

alexgut
1

40 | 2

alexgut - 31 июля 2014 15:19 - Юзер

Если сделать:
print_r ($actors_list);


То выводит как раз то что попадает в базу после редактирование новости
a:1:{s:0:"";s:0:"";}


А если сделать
print_r ($actors_array);


Собственно из него значение и попадает в $actors_list то выводит
Array ( [] => )


То есть значение не попадает в $actors_list так-как в $actors_array его и нет.

Кто дальше подскажет?

alexgut
1

40 | 2

alexgut - 31 июля 2014 15:22 - Юзер

Значит проблема где-то тут
    foreach ( unserialize($row['actors']) as $alt_name => $name ) $actors_array[] = $name;
    $actors = implode(", ", $actors_array);


Где формируется массив $actors_array

А вот что тут не правильно пока понять не могу.

rashpil
33

232 | 182

rashpil - 31 июля 2014 16:07 - Эксперт

Для своих целей он поставил...

Проверяй сохранение данных в базе. print_r показывает что сохраняется пустой массив, значит в него не записались значения из $_POST. Проверяй работу с $_POST['actors']

alexgut
1

40 | 2

alexgut - 31 июля 2014 16:19 - Юзер

Если вы автор модуля, респект.

При добавлении новости записывается в базу так
a:1:{s:5:"akter";s:5:"АКТЕР";}


А при редактирований этой же новости и изменение в поле АКТЕР к примеру на ТРУАКТЕР меняеться на
a:1:{s:0:"";s:0:"";}


Стоит чистая DLE 10.2

rashpil
33

232 | 182

rashpil - 31 июля 2014 16:42 - Эксперт

Значит в файле добавления новости ты установку провёл правильно, а в редактировании подкачал.

Как я и сказал, ищи место где $actors_list пишется в базу и следуй по коду выше до того момента где он формируется. Там есть 2 места: формирование списка актёров для вставки значения в поле и формирование сериализованного массива для сохранения в базу. Вот тебя должен интересовать 2-й случай, я уже в коменте выше писал про массив $_POST.

alexgut
1

40 | 2

alexgut - 31 июля 2014 16:52 - Юзер

Вот код где $actors_list пишется в базу




Вот первый выше по коду



А вот второй выше по коду




Вот я так понимаю
А вот второй выше по коду
это и есть тот самый нужный код который формирует $actors_array который потом использует $_POST['actors']

Установку я провел по инструкции, и вроде не кривой правильно =_=
Даже пересмотрел другие.

alexgut
1

40 | 2

alexgut - 31 июля 2014 17:05 - Юзер

Мои познания в php не очень сильны, именно поэтому я спросил помощи тут, и даже не как большинство людей которые спрашивают без уважения и без желания сами что-то решить. Даже пытаюсь сам разобраться в проблеме, но пока без результатно.

alexgut
1

40 | 2

alexgut - 31 июля 2014 18:36 - Юзер

Ладно, Я понял что помочь решить не кто не в силах. Спасибо всех за участие.
Отдельное спасибо СОЗДАТЕЛЮ модуля.

alexgut
1

40 | 2

alexgut - 31 июля 2014 19:35 - Юзер

Если кто-то решит помочь, вот весь editnews.php уже с правками.
http://pastebin.ru/8VWHMdUB

alexgut
1

40 | 2

alexgut - 31 июля 2014 22:26 - Юзер

Тема решена.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы