Loading...
perer avatar perer 0 Точки

Проблем с блог-скелета на PHP

Здравейте!
Реших да използвам framework-а, върху който правихме упражнението по Създаване на блог с PHP и MySQL, за основа на проекта ми. Срещам следния проблем:

Създавам нови model, controller и view-та, като наследявам base модела и контролера, както при всички останали, но при опит да подкарам каквото и да било ми излиза следната грешка - Notice: Undefined variable: products in C:\xampp\htdocs\SoftUni\views\tasty\products.php on line 7. На този ред имам var_dump($products);, който дава резултат Null.

В модела имам стандартна заявка към БД, а от контролера просто присвоявам масива към променливата products с този код

$this->products = $this->model->products(1);

Бъркам ли някъде, или трябва да пипна някъде нещо по кода на framework-а?

 

Благодяря! :)

Тагове:
0
Fundamentals Module 23/08/2016 15:59:09
stefan.delchev avatar stefan.delchev 49 Точки

Здравей,

В C:\xampp\htdocs\SoftUni\views\tasty\products.php трябва да достъпваш масива с продукти така: $this->products

В твоя случай трябва да е var_dump($this->products);

1
perer avatar perer 0 Точки

Да, това е била грешката ми :)

Благодаря!

0
perer avatar perer 0 Точки

Имам още един проблем, който ме мъчи вече втори ден...рових се из нета, опитвах какво ли не, но явно не откривам решението.

Става въпрос за още един сайт, който се намира в папка на текущия. Мисля че проблемът идва от .htaccess-а, но не мога да го отстраня. Използвам същия framework и за втория сайт, което всъщност прави конфликта сигурно. При опит да вляза във втория сайт и ми зарежда началната страница, но до там. Опитам ли да мръдна извън началната страница т.е. извън HomeController/Index дава грешка 404, а файловете са си там и си работят.

Това е .htaccess-а, който ползвам:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !^(/[a-zA-Z0-9_-]+)?/content/.*$
  RewriteCond %{REQUEST_URI} !^(/[a-zA-Z0-9_-]+)?/second/content/.*$
  RewriteCond %{REQUEST_URI} !^(/[a-zA-Z0-9_-]+)?/second/.*$
  RewriteRule ^ index.php
</IfModule>

Какво и къде трябва да добавя?

В second/config.php съм задал новата директория като APP_ROOT (/SoftUni/second).

 

Благодаря!

0
RoYaL avatar RoYaL Trainer 6849 Точки

RewriteRule-а към index.php е леко проблемен в тоя случай. То не е много добра идея на един виртуален хост да имаш два апп-а с един htaccess.

Ако ще го правиш така, тогава в index.php трябва да dispatch-неш кое на къде да сочи, например ако пише "/second/" да require-ва втория сайт и така

0
perer avatar perer 0 Точки

Не е проблем да бъде и с два .htaccess-а, но не знам как да ги направя, за да няма конфликт помежду им и какво да пише в първия, че да не възприема "/second" като част от първия апп. Съответно какво трябва да има във втория, за да се отваря само втория апп?

 

А това dispach-ване не го разбрах. Като направя проверка в index.php дали $_SERVER['REQUEST_URI'] съдържа "/second" как да го накарам да require-ва втория сайт?

0
26/08/2016 14:02:23
RoYaL avatar RoYaL Trainer 6849 Точки

Ами направи двата апп-а да са в отделни папки - /root/first и /root/second примерно и в двете first и second сложи по един .htaccess дето редиректва към респективно /first/index.php и /second/index.php.

Не съм гледал какъв е фреймуърка дето са ви дали, но предполагам, че прави някакви require-и и сетва APP_ROOT-ове и просто използвай един централизиран index.php и за двата апп-а, просто сетвай APP_ROOT-а да е друг според зависи какво пише в REQUEST_URI-то

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.