R

reload

полная перезагрузка...
+647
Репутация
5793
Рейтинг
#1 [ЕСТЬ РЕШЕНИЕ] Вывод данных из базы - 2.х 10 февраля 2016 в 11:58
Получается что $item['myvar'] существует всегда, но не всегда есть в базе!)

Если в базе есть, то нужно выводить немного иначе…
#2 [ЕСТЬ РЕШЕНИЕ] Вывод данных из базы - 2.х 10 февраля 2016 в 11:54
Loadырь, на данный момент у меня одна переменная $var_in
И она должна принимать значение по умолчанию например "555", но если в базе есть свое значение для этой переменнй, то выводить то что записано в базе)

То есть нет у меня $var_in_bd и $var_default — есть только $var_in которая изначальна равна "555"


В общем фишка в том, что тот массив, который нужно выводить,

до записи в базу выводится так: $item['myvar']

а если выводить из базы (как уже определили), так: cmsModel::yamlToArray($item['myvar'])


Пока массив не записан в базу, этим $item['myvar'] выводится, а этим cmsModel::yamlToArray($item['myvar']) не выводится)

А если уже берем "массив" из базы, то наоборот этим cmsModel::yamlToArray($item['myvar']) выводится, а этим $item['myvar']нет)

В общем как то там не правильно записывается в базу, но бог с ним, главное что можно вывести)

Вот из-за этого появилась необходимость проверки.

По умолчанию в шаблоне контролера выводим $item['myvar'], но если в базе есть запись то заменять на cmsModel::yamlToArray($item['myvar'])
#3 [ЕСТЬ РЕШЕНИЕ] Вывод данных из базы - 2.х 10 февраля 2016 в 10:52
И последний вопрос:

Как в шаблоне контроллера проверить есть переменная в базе или нет?

Простая проверка по типу if (empty($var)) {
не катит, так как эта переменная в шаблоне есть всегда, но в базе ее может не быть)

Типа если в базе НЕТ значения, то выводим значение, которое задано заранее, если есть в базе, то выводим значение из базы…
#4 [ЕСТЬ РЕШЕНИЕ] Вывод данных из базы - 2.х 10 февраля 2016 в 10:14
Loadырь, спасибо! получилось!)
#5 [ЕСТЬ РЕШЕНИЕ] Вывод данных из базы - 2.х 10 февраля 2016 в 09:41
Что бы массив остался массивом, его нужно как то специально записывать?
Тип поля в базе?
#6 [ЕСТЬ РЕШЕНИЕ] Вывод данных из базы - 2.х 10 февраля 2016 в 09:38
Немного поясню что делаю:

Есть массив $item['myitems'] который отлично выводится конструкцией:


  1.  
  2. <?php $myitems = $item['myitems']; ?>
  3.  
  4. <ul>
  5. <?php foreach($myitems as $itemo){ ?>
  6. <li>
  7. <p><?php echo html($itemo['title']);?></p>
  8. <p><?php echo html($itemo['description']);?></p>
  9. </li>
  10. <?php }?>
  11. </ul>
  12.  
Записываем этот массив в базу: $this->model->addItem($item)

… тут же помимо массива записываются и другие переменные $item['myvar']

Вот все что не массив $item['myvar'] — выводится без проблем)

А то что было массивом до записи (не знаю чем стало) $item['myitems'] — само значение выводится, а так ка до записи в базу, что бы все по отдельности не хочет.

Начинаю понимать что массив после записи становится не массивом…

В общем нужны любые идеи и предложения...
#7 [ЕСТЬ РЕШЕНИЕ] Вывод данных из базы - 2.х 10 февраля 2016 в 09:29

У вас точно массив???? или одно значение?

kirkr

До записи в базу точно массив) а то что в базе получается — не знаю)

Должен быть по идее массив, но при выводе через echo/print_r выводит все в одну строку…
#1 [ЕСТЬ РЕШЕНИЕ] Вывод данных из базы - 2.х 10 февраля 2016 в 09:08
Для icms2

Данные из базы в шаблон можно вывести такой конструкцией: $item['title']

Вопрос в следующем, как вывести в шаблон значения, если они записаны в таком виде:


---

title: 'bla bla bla'
description: bla bla bla

title: BLA BLA BLA
description: bla bla bla

title: >
bla bla bla
bla!!!
description: bla bla bla


По идеи должно быть что то вроде такого:

  1.  
  2. <?php $myitems = $item['myitems']; ?>
  3.  
  4. <ul>
  5. <?php foreach($myitems as $itemo){ ?>
  6. <li>
  7. <p><?php echo html($itemo['title']);?></p>
  8. <p><?php echo html($itemo['description']);?></p>
  9. </li>
  10. <?php }?>
  11. </ul>
  12.  
Но так не работает…

Переменная $myitems принимает данные из базы,
echo $myitems; — выводит содержимое…

Понимаю что не правильна указана эта конструкция
$itemo['title'];

Изменял ее как угодно методом научного тыка, но безрезультатно)

Как правильно?… пока иду гуглить, может встретится что то подобное)
#8 Взлом сайта через redirect 9 февраля 2016 в 20:31

А зачем?

Pasha

Не вмешиваемся в код "ядро" + можно на отдельной странице задать время перенаправления, можно сделать просто предупреждение с ссылкой без редиректа, можно вывести рекламу, можно задать дополнительные условия для перенаправлений по определенным правилам, и много чего еще можно — и это все будет работать не зависимо от движка и версии!)
#9 [ЕСТЬ РЕШЕНИЕ] Почему я перенес сайт с instantcms на wordpress buddypress 9 февраля 2016 в 20:14

изначально это движок для создания сообществ

onix

У каждого свои понятия о сообществе) Не все планируют создать мега социальную сеть на бесплатном двиге, но! многие желают сделать гродской сайт (сообщество) или тематический сайт (сообщество) что инстант позволяет на се 200%

Вторая ветка вообще мега бомба как по мне) Удобна как для разработчиков так и для администраторов...

ps: для двойки конечно форума пока не хватает для полной социальности, но мы долго ждали, подождем еще немного )

В общем каждому свое.

"Даже если спирт замерзнет, все равно его не брошу
Буду грызть его зубами, потому что он хороший
!))"

— это я про instantcms!
#10 Взлом сайта через redirect 7 февраля 2016 в 13:15

Я даже не пойму, как они и где прописали свои ссылки. В БД ничего не нашел.

Dorimen

Никто ничего не прописывает в базу, на ваш сайт даже никто не заходит — "ручками" в адресную строку пишут!
Встречал в инете даже базами редиректов торгуют — те кто покупают, даже не видели вашего сайта никогда)

Pasha, не лучше проверку в отдельном файле прописать?
#11 Взлом сайта через redirect 7 февраля 2016 в 12:56

А может их использовать?

Sonat

Отличный совет. Подобрать партнерку/оффер по теме магазина и перенаправлять в свой карман )

Извините за громкое название темы, но по ходу так оно и случилось.

Dorimen

Таки громкое, так как это всего редирект — любой может прописать в адресной строке вашсайт.ру/redirect?url=свойсат.ру

Тут как бы есть обход, можно проверять от куда идет юзер — если с вашего домена, то редиректим, если с другого домена или без реферера то либо сливать на партнерки, либо отсылать на страницу с уведомлением или на 404.

Что бы не лезть в системные файлы, можно в htaccess прописать перенаправление через отдельную страницу на которой и будет выполнятся проверка по HTTP Referer, например:

RewriteCond %{REQUEST_URI} ^/redirect?url=http://(.*) [NC]
RewriteRule ^(.*)$ mysite.ru/myredirect.php?url=http://%1 [R=302,L]

создать файл myredirect.php и в нем выполнять проверку.
#12 Блокировщик, блокировщика рекламы)) 5 февраля 2016 в 18:25
Все правы — я это уже сказал!

однозначного мнения никогда не будет, и самое интересное что каждый по своему прав!

reload
#13 Блокировщик, блокировщика рекламы)) 5 февраля 2016 в 15:20
ps: кстати, только что проверил на предмет "дыры вместо них" — дыр нет, можете не переживать — "замысел художника" опытного, остался на месте!)
#14 Блокировщик, блокировщика рекламы)) 5 февраля 2016 в 15:11

Это он зря.

Нил™
Расскажите это им — там видать не далекие люди сидят))

Как же замысел художника...

Нил™
Нил™, лично меня "пустота" не так напрягает как реклама — особенно когда детки по нету тусуются а там реклама от которой иногда воротит...
Даже на квадрат Малевича интересней втыкать чем на рекламу — я телик из за рекламы не смотрю!)

В общем каждому свое. Тем более никто никого не заставляет ставить адблок, его даже не рекламирую как всякую вирусню на подобии Я.браузеров, мейлАгентов и др.

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

ps:

и сидя на адблоке видеть дыры вместо них

Нил™
и даже дыры адблоком убираются — не только реклама!)
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.