[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    curl_setopt( $cl, CURLOPT_COOKIE, $cookie );
     
  2. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    CURLOPT_COOKIEJAR - сохранить куки в файл.
    CURLOPT_COOKIEFILE - считать куки из файла.

    PHP:
    curl_setopt($chCURLOPT_COOKIEJAR"./cook");
    curl_setopt($chCURLOPT_COOKIEFILE"./cook");
     
  3. Маркиза

    Маркиза New Member

    Joined:
    11 Feb 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    PHP:
    protected function makeArray()
        {
            
    $arr parent::makeArray();
            
            
    $arr['name']  = $this->getName();
            
    $arr['year']  = $this->getYear();
            
    $arr['month'] = $this->getMonth();
            
    $arr['day']   = $this->getDay();
            
            return 
    $arr;
        }
        
        public function 
    getName()
        {
            return 
    $this->name;
    Есть ли здесь ошибка?
     
  4. Маркиза

    Маркиза New Member

    Joined:
    11 Feb 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    PHP:
          if (isset($_FILES['image'])) {
                                    require_once(
    dirname(__FILE__) . '/objects/Group.php');
                                    
    $group Group::getById($work->getId());

                                    
    $result DB::selectQuery('SELECT COUNT(*) as pcount FROM w_pictures WHERE work_id = ' $work->getId());

                                    
    $row $result->fetchRow();

                                    
    $num $row['pcount'];

                                    
    $pic->setPhotoFromForm($_FILES['image'], $group->getName() . ' ' $work->getName() . ' ' $num++);
                            }

                            
    $description htmlentities($_POST['description'], ENT_QUOTES'utf-8');

                            
    $pic->setDescription($description)
    Ругается на эти строки, подскажите что не так?
     
  5. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    скажи хоть что за ошибка выводиться?
    в строке $pic->setDescription($description) в конце ; поставь
    $pic->setDescription($description);
     
  6. Маркиза

    Маркиза New Member

    Joined:
    11 Feb 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Fatal error: Call to a member function getName()
     
  7. Маркиза

    Маркиза New Member

    Joined:
    11 Feb 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    еще раз как поставить?;)
     
  8. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Если я не ошибаюсь, то у вас $group не является объектом ... Соответственно у нее нет метода getName(), либо у того объекта, что возвращает метод Group::getById($work->getId()); нету метода getName().

    ЗЫ: В строке ($pic->setDescription($description);) поставить "точку с запятой" надо
     
  9. Маркиза

    Маркиза New Member

    Joined:
    11 Feb 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    а как ее объектировать?
     
  10. Маркиза

    Маркиза New Member

    Joined:
    11 Feb 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?php

    require_once(dirname(__FILE__) . '/../base/DBObject.php');

    class 
    Group extends DBObject {
        
        public 
    $table 'w_groups';
        
        private 
    $name null;
        private 
    $year 2009;
        private 
    $month 1;
        private 
    $day 1;
        
        public static function 
    create()
        {
            return new 
    self();
        }
        
        public static function 
    getById($groupId)
        {
            
    $new = new self();
            return 
    $new->loadById($groupId);
        }
        
        public function 
    makeObject($array = array())
        {
            
    parent::makeObject($array);
            
            
    $this->
                
    setName($array['name'])->
                
    setYear($array['year'])->
                
    setMonth($array['month'])->
                
    setDay($array['day']);
            
            return 
    $this;
        }

        protected function 
    makeArray()
        {
            
    $arr parent::makeArray();
            
            
    $arr['name']  = $this->getName();
            
    $arr['year']  = $this->getYear();
            
    $arr['month'] = $this->getMonth();
            
    $arr['day']   = $this->getDay();
            
            return 
    $arr;
        }
        
        public function 
    getName()
        {
            return 
    $this->name;
        }
        
        public function 
    setName($name)
        {
            
    $this->name $name;
            return 
    $this;
        }
        
        public function 
    getDay()
        {
            return 
    $this->day;
        }
        
        public function 
    setDay($day 1)
        {
            
    $this->day $day;
            return 
    $this;
        }
        
        public function 
    getMonth()
        {
            return 
    $this->month;
        }
        
        public function 
    setMonth($month 1)
        {
            
    $this->month $month;
            return 
    $this;
        }
        
        public function 
    getYear()
        {
            return 
    $this->year;
        }
        
        public function 
    setYear($year 2009)
        {
            
    $this->year $year;
            return 
    $this;
        }
        
        
        
        
        
    }
    Вот инклуд вроде там должна прописываться группа я правильно поняла?
     
  11. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    Добрый день. Подскажите пожалуйста такую вещь:

    onclick="location.href='с понтом путь' "


    можно ли каким-то образом сделать задержку, к примеру в 2 сек, перед переходом на страницу согласно скрипта?

    Заранее пасибо.
     
  12. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    А что вернет метод DBObject::loadById() ???
     
  13. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Это про JS вопрос, не в той теме спрашиваете... А по делу можно так:
    PHP:
    onclick="sleep(2);location.href='с понтом путь' "
    или pause(2);

    Точно не помню :-[
     
    1 person likes this.
  14. Gadik

    Gadik Elder - Старейшина

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    спасибо! про место вопроса поздно понял)
     
  15. Маркиза

    Маркиза New Member

    Joined:
    11 Feb 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Не наю....
     
  16. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Покажи исходник класса DBObject
     
  17. Маркиза

    Маркиза New Member

    Joined:
    11 Feb 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?php

    require_once(dirname(__FILE__) . '/DB.php');

    class 
    DBObject 
    {

        public 
    $table '';
        
        private 
    $id null;
        
        public function 
    __construct()
        {
            return 
    $this;
        }
        
        public static function 
    create()
        {
            return new 
    self();
        }
        
        public static function 
    getById($groupId)
        {
            
    $new = new self();
            
    $new->loadById($groupId);
            
            return 
    $new;
        }
        
        public function 
    loadById($groupId)
        {
            
    $query 'SELECT * FROM ' $this->table ' WHERE id = ' $groupId;
            
            
    $result DB::selectQuery($query);
            
            if (
    $result->count == 0
                return 
    false;
                
            
    $row $result->fetchRow();
            
            
    $this->makeObject($row);
            
            return 
    $this;
        }
        
        public function 
    makeObject($array = array())
        {
            
    $this->id $array['id'];
            
            return 
    $this;
        }
        
        public function 
    getId()
        {
            return 
    $this->id;
        }
        
        protected function 
    makeArray()
        {
            return array(
                
    'id' => $this->getId()
            );
        }
        
        public function 
    delete()
        {
            if (!
    $this->getId())
                return 
    $this;
                
            
    $query 'DELETE FROM ' $this->table ' WHERE id = ' $this->getId();
            
            
    DB::execQuery($query);
            
            return 
    $this;
        }
        
        public function 
    save()
        {
            if (
    $this->getId()) {
                return 
    $this->update();
            } else {
                return 
    $this->add();
            }
        }
        
        public function 
    update()
        {
            
    $arr $this->makeArray();
            
            unset(
    $arr['id']);
            
            
    $query 'UPDATE ' $this->table ' SET ';
            
            
    $i 0;
            
            foreach(
    $arr as $key => $value) {
                
    $i++;
                
                if (
    $i 1) {
                    
    $query .= ', ';
                }
                
                
    $query .= $key ' = "' $value '"';
            }
            
            
    $query .= 'WHERE id = ' $this->getId();
            
            
    DB::execQuery($query);
            
            return 
    $this;
        }
        
        public function 
    add()
        {
            
    $arr $this->makeArray();
            
            if (isset(
    $arr['id'])) {
                unset(
    $arr['id']);
            }
            
            
    $query 'INSERT INTO ' $this->table ' (' implode(', 'array_keys($arr)) . ')';
            
    $query .= 'VALUES (';
            
            
    $i 0;
            
            foreach(
    $arr as $value) {
                
    $i++;
                
                if (
    $i 1) {
                    
    $query .= ', ';
                }
                
                
    $query .= '"' $value '"';
            }
            
            
    $query .= ')';
            
            
    $this->id DB::insertQuery($query);
    Вот он
     
  18. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Косяк в том что в классе Group в методе:
    PHP:
     public static function getById($groupId
        { 
            
    $new = new self(); 
            return 
    $new->loadById($groupId); 
        }
    Возвращается объект типа DBObject, а не Group... А у того в свою очередь нет метода getName()
     
  19. Маркиза

    Маркиза New Member

    Joined:
    11 Feb 2009
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    А подскажи плиз как этот косяк исправить буду очень признательна
     
  20. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Полагаю так, заменить тот метод что есть на вот такой:
    PHP:
    public static function getById($groupId)  
        {  
            
    $new = new self();  
            
    $new->loadById($groupId);  

            return 
    $new;
        } 
     
Thread Status:
Not open for further replies.