Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> инициализация свойства происходит только снаружи 
V
    Опции темы
supervladislav
Дата 17.8.2011, 01:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



скажите у меня есть свойство объявленное как public  информация туда поступает из массива get через функцию конструкт почемуто вне кода 
переменная существует а внутри функции нет как так может быть ,get попадает туда через заголовок 
PM MAIL   Вверх
ayax2005
Дата 17.8.2011, 03:54 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



Ничерта не понятно - будь мужиком, используй пунктуацию блеать!
Код в студию.


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
NLspieler
Дата 17.8.2011, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



Код

class Exemple
{
    public $var;

    function __construct($var)
    {
        $this->var = $var; //Доступ к переменной класса через $this 
    }
}

PM MAIL   Вверх
GreatAntique
Дата 17.8.2011, 09:38 (ссылка) |  (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


LAMP Developer



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.12.2009
Где: Kyiv, Ukraine

Репутация: 1
Всего: 1



Класс увидели. А что не работает?
PM MAIL WWW ICQ Skype   Вверх
supervladislav
Дата 17.8.2011, 11:58 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



Код

class fight extends userinfo{
    public $fight_id;
    public $oldfight; 
    public $friend;
    public $agressor_id; 
    public $type_info;
    public $why_is_it;
    public $id_friend;
    public $force;
    public $fight;
    public $_damage;
    public $type_fight;    
    public $bot_id;
    public $who_walked;
    public $who_goes_first;
    public $_last_move;
    public $ability_id;
    public $id_course;
    public $first_fight;
    public $_opponents;
    public $name_abilit;
    public $_turnir_opponents;
    public $id_bot_vkontakte;
    public $id_user_vkontakte;
    /**
     * @var $fight_id - идентификатор боя
     * @var $type_fight - тип боя 
     * @var $ability_id - id используемого умения 
     * @var $id_user_vkontakte - id пользователя вконтакте
     * @var $id_bot_vkontakte - id бота вконтакте
     * @var $type_info= - тип информации
     * @var $friend - id друга vkontakte
     * @var $blue_kit- синяя аптечка 
     * @var $red_kit - красная аптечка
     * 
     */
     
     
    public function  __CONSTRUCT($fight_id,$type_fight,$ability_id,$id_user,$id_bot,$id_friend,$auto_fight,$red_kit,$blue_kit,$fight){
        $this->fight_id=$fight_id;
        $this->type_fight=$type_fight;
        $this->ability_id=$ability_id;
        $this->id_user_vkontakte=$id_user;
        $this->id_bot_vkontakte=$id_bot;
        $this->friend=$id_friend;
        $this->auto_fight=$auto_fight; 
        $this->blue_kit=$blue_kit;
        $this->red_kit=$red_kit;
       
        $this->oldfight=$fight;
      
        $_opponents=array();
        $_last_move=array();
    }



Код

 $this->oldfight=$fight;


Добавлено через 14 минут и 17 секунд
NLspieler, это переменная $_get она передаётся  через заголовок ,а потом происходит снова вызов функции и кстате ,вы ещё забыли вот это 


Код

$obg=new fight($_POST['fight_id'],$_POST['type_fight'],$_POST['ability_id'],$_POST['id_user_vkontakte'],$_POST['id_bot_vkontakte'],$_POST['id_friend'],$_POST['auto_fight'],$_POST['red_kit'],$_POST['blu_kit'],$_GET['fight_id']);






Код

public function newfight(){
     
     echo '{"fight_id":"'.$this->oldfight.'"}';
       var_dump($this->oldfight);
     $this->user_id=$this->getuserid($this->id_user_vkontakte);
     if(isset($this->user_id)){
     $this->getopponents($this->user_id); 
         
        $this->withdrawal_opponents(); 
          $next_course=$this->who_goes_first($this->_opponents,1);
          echo $next_course;
         if($next_course==$this->user_id){$first_course='user'; }
         elseif ($next_course==$this->bot_id){$first_course='bot';}
       
        if($this->type_fight and count($this->_opponents)>0 and $this->user_id){
            
        $type_fight=mysql_escape_string($this->type_fight);
        $string=implode(",",$this->_opponents);
        $string=mysql_escape_string($string);
        $this->last_fight_id();
          $this->fight_id=$this->fight_id+1;
        $link=$this->sql_query("select `fight_id`,`type_fight` from ".T_FIGHT." where Id_bots IN ($string) and User_id='$this->user_id' and type_fight='$type_fight' and win='' and Who_win='0'") or die(mysql_error());
        if($this->sql_num_rows($link)==0){
            foreach($this->_opponents as $value){
                    $this->sql_query("insert into ".T_FIGHT." (`time`,`User_id`,`Id_bots`,`type_fight`,`fight_id`,`who_goes_first`,`who_id_it`) VALUES('UNIX_TIMESTAMP()','$this->user_id','$value','$type_fight','$this->fight_id','$next_course','$first_course')") or die(mysql_error());}
        header("location:class.fight.php?fight_id=$this->fight_id&go=new_fight");
        }}
        }else{echo 'id пользователя вконтакте не введён';}
        }
   








PM MAIL   Вверх
supervladislav
Дата 17.8.2011, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



GreatAntique, а то ,что если эту функцию вызвать вне класса всё работатет ,а внутри класса нуль 

PM MAIL   Вверх
ayax2005
Дата 17.8.2011, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



Во-первых, непонятно, чего выхотите добитьс яэтим в конструкторе:
$_opponents=array();
$_last_move=array();

Далее, покажите дамп объекта $obj после вызова конструктора и следом после вызова $obj->newfight()





--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
supervladislav
Дата 17.8.2011, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



Внутри функций класса выводит NULL снаружи всё впорядке 

Это сообщение отредактировал(а) supervladislav - 17.8.2011, 13:23
PM MAIL   Вверх
supervladislav
Дата 17.8.2011, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



ой функция неправильно вызовалась извените 
PM MAIL   Вверх
ayax2005
Дата 17.8.2011, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



что и требовалось доказать)


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0769 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.