Помогите решить проблему! Просто резко перестало работать.

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

Раньше все работало.
поминальное-кафе.рф (контакты) на отрез отказываются работать. Раньше все работало. зашел вечером — упал сайт.
Тех.поддержка ничего особо не сказала (за исключение кэша админки yii)
20. строка ругается. =( ничего не пойму. только начал изучать yii. Помогите пожалуйста.

Use of undefined constant value - assumed 'value'
/httpdocs/protected/views/site/contact.php(20)

Код: Выделить всё

08 <table border="0" id="cont_table">
09 <?
10 
11 //$types = array(1=>'Адрес',2=>'Телефон',3=>'Часы работы',4=>'Сайт',5=>'E-mail');
12 $contacts = Contacts::model()->findAll(array('order'=>'type','condition'=>'city_id = 0 OR city_id = '.$this->city));
13 $have_map = false;
14 $any = false;
15 foreach(Yii::app()->params['types'] as $key => $name){
16     if(Contacts::model()->find('city_id = 0 OR city_id = '.$this->city.' AND type = '.$key)){
17         echo '<tr><td class="cont_key"><img src="/images/icons/contact'.$name.'.png">'.$name.'</td><td class="cont_value">';
18     foreach($contacts as $contact){
19         if ($contact['type']==$key){
20             echo ($key == 4 ? ' <a href="http://'.$contact[value].'">'.$contact[value].'</a>' : $contact[value]).($contact[title] ? ' <span>'.$contact[title].'</span>' : '').'<br>';
21             if ($key == 1 && !$have_map){
22                 include "map.php";    
23                 $have_map = true;
24             }
25         }
26     }
27     echo '</td></tr>';
28     $any = true;
29     }
30 }
31 if(!$any){
32     echo '<div class="note">Контакты не найдены</div>';
Странник
Сообщения: 295
Зарегистрирован: 2013.04.08, 10:35
Откуда: Нижний Новгород

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Странник »

Попробуй так - $contact["value"]
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

да, все верно. именно в этом и была проблема :_)
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

Друзья, не могу понять, то ли меня ломают то ли еще, что... снова возникла проблема. при заходе на главную... поминальное-кафе.рф вылазит ошибка =( Самое главное, что раньше все работало и изменений не вносил=/

Очень прошу вашей помощи. Буквально пару дней назад только начал изучать php и yii...

Спасибо за любой совет в данной проблеме.
/httpdocs/protected/components/Controller.php(26)

Код: Выделить всё

14     public $layout='//layouts/column1';
15 
16     public $menu=array();
17 
18     public $breadcrumbs=array();
19     
20     public function count(){
21         return City::model()->count();
22     }
23     
24     public function beforeAction()
25     {
26         $this->city = Yii::app()->request->cookies['city']->value;
27         if(!$this->city){
28             $tmp = City::model()->find()->id;
29             if($tmp){
30                 Yii::app()->request->cookies['city'] = new CHttpCookie('city',$tmp);
31                 $this->city = $tmp;
32             }else{
33                 $this->city = 0;
34             }
35         }
36         return true;
37     }
38 }
Trying to get property of non-object
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

ошибка здесь
$this->city = Yii::app()->request->cookies['city']->value;
ежели пишу так

Код: Выделить всё

 $this->city = Yii::app()->request->cookies['city']->1; 
то ошибка пропадает но открывается просто пустая страница. без ошибок и всего прочего. белый лист :evil: шайтан его.
garytopor
Сообщения: 113
Зарегистрирован: 2014.07.21, 22:23

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение garytopor »

Правильно так:
public function beforeAction()
25 {
26 if($this->city = Yii::app()->request->cookies['city']->value)
$this->city = Yii::app()->request->cookies['city']->value;
27 if(!$this->city){
28 $tmp = City::model()->find()->id;
29 if($tmp){
30 Yii::app()->request->cookies['city'] = new CHttpCookie('city',$tmp);
31 $this->city = $tmp;
32 }else{
33 $this->city = 0;
34 }
35 }
36 return true;
37 }
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

if($this->city = Yii::app()->request->cookies['city']->value) ?????? value )
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

Опять же. если делаю как вы говорите, то открывает просто пустую страницу. без оформления. белый лист. =(
kotchuprik
Сообщения: 75
Зарегистрирован: 2012.02.06, 19:33
Контактная информация:

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение kotchuprik »

А так?

Код: Выделить всё

public function beforeAction()
{
    if ($city = Yii::app()->request->cookies['city']) {
        $this->city = $city->value;
    } else {
        if ($city = City::model()->find()) {
            Yii::app()->request->cookies['city'] = new CHttpCookie('city', $city->id);
            $this->city = $city->id;
        } else {
            $this->city = 0;
        }
    }

    return true;
}
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

Идеально. в чем проблема была. огромная просьба объяснить. Код сработал на все 100% за что огромное спасибо. +1 вам в карму и от всей души спасибо.
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

И еще. а здесь что я понаписано?. собственно мистика твориться. чувство такое что кто-то долбит базу и чего то творит с ней.
ибо возникают непонятные ошибки..

вот очередная :((((

Код: Выделить всё

<meta id="metadesc" name="description" content="<?php echo $info->desc ? $info->desc : Pages::model()->findByPk('index')->desc; ?>">
Trying to get property of non-object
/protected/views/layouts/main.php(7)
на главной поминальное-кафе.рф когда заходим в какую либо новость. =\
P.s как узнать что меня ломают злые люди.
Аватара пользователя
flashimage
Сообщения: 1517
Зарегистрирован: 2011.01.23, 12:43

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение flashimage »

Pages::model()->findByPk('index')->desc; - что-то мне подсказывает, что не найдется страницы по такому индексу )) да и $info может не быть объектом.
Если очень хочется в одну строку то можно так

Код: Выделить всё

<?= isset($info->desc) && $info->desc ? $info->desc : (Pages::model()->findByPk('index') ? Website::model()->findByPk('index')->desc : ''); ?>
НО лучше уж в две строки - и запросов меньше и понятнее
Бранчи это гомеоморфические эндофункторы, которые мапятся на субманифолды пространства Гилберта.
dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение dmg »

думаю это не хакеры, а изменился уровень показа ошибок и тепер выводит Notice.
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

Спасибо огромное всем за помощь, спасибо, что вникаете в мою проблему. +1 вам в карму друзья.
flashimage — к сожалению, этот код определенно не работает. или, что-то я снова делаю ни так.
но. внес изменении и поминальное-кафе.рф, когда заходим в новость вылазит другая ошибка.

Код: Выделить всё

include(Website.php): failed to open stream: No such file or directory
теперь с пометкой на сам фреймворк.
/httpdocs/framework/YiiBase.php(427)
415 {
416 include($classFile);
417 if(YII_DEBUG && basename(realpath($classFile))!==$className.'.php')
418 throw new CException(Yii::t('yii','Class name "{class}" does not match class file "{file}".', array(
419 '{class}'=>$className,
420 '{file}'=>$classFile,
421 )));
422 break;
423 }
424 }
425 }
426 else
427 include($className.'.php');
428 }
429 else // class name with namespace in PHP 5.3
430 {
431 $namespace=str_replace('\\','.',ltrim($className,'\\'));
432 if(($path=self::getPathOfAlias($namespace))!==false)
433 include($path.'.php');
434 else
435 return false;
436 }
437 return class_exists($className,false) || interface_exists($className,false);
438 }
439 return true;

изначально проблема в предыдущем посте. (
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

А нет. разобрался вроде ( только чем дальше тем страшнее.
Dezartuz
Сообщения: 11
Зарегистрирован: 2014.10.31, 15:59

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Dezartuz »

Скрипт продолжает дальше мучить и все, что работало раньше теперь перестало :((

Код: Выделить всё

23<? $title = $info->title; ?>
24 <title><?php echo CHtml::encode(Settings::model()->find()->name.' | '.($title ? $title : $this->pageTitle)); ?></title>
Trying to get property of non-object
/protected/views/layouts/main.php(23)
Странник
Сообщения: 295
Зарегистрирован: 2013.04.08, 10:35
Откуда: Нижний Новгород

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение Странник »

Такое ощущение, что изменились настройки сервера.
Попробуй везде вместо <? поставить <?php
Возможно шорттеги не работают.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Помогите решить проблему! Просто резко перестало работать.

Сообщение zelenin »

проблема проста: писал криворукий программист, не соблюдающий элементарных правил по проверке и оформления кода. на хостинге обновили пхп, сбросив настройки в php.ini и теперь кривой код перестал работать.
Ответить