Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Несколько ошибок в онлайн игре... (https://forum.antichat.xyz/showthread.php?t=122110)

Chrek625 24.05.2009 17:45

Несколько ошибок в онлайн игре...
 
Доброго времени суток всем знатакам PHP.
Помогите исправить несколько ошибок в движке онлайн игре.

первая сама большая ошибка:
Fatal error: Cannot re-assign $this in Z:\home\sirius\www\classes\Shop.php on line 75


PHP код:

function get($objectId=null) {
        if (
$objectId == 0) return false;
        if (
parent::get($objectId)) {
//                                     echo "in get clinic, $objectId, ".get_class($this)."<br>";

            
if ($this->getVariable('type') == 'comission' and get_class($this)!='comissionshop') {
                
$newShop = new ComissionShop();
                if (
$newShop->get($objectId)) {
                    
$this $newShop;
                    
$this->getCrncyDst();
                    return 
true;
                }
                return 
false;
            }

            if (
$this->getVariable('type') == 'repair' and get_class($this)!='repairshop') {
                
$newShop = new RepairShop();
                if (
$newShop->get($objectId)) {
                    
$this $newShop;
                    return 
true;
                }
                return 
false;
            }

             if (
$this->getVariable('type') == 'clinic' and get_class($this)!='clinic') {
                
$newShop = new Clinic();
//                     echo "in get clinic, $objectId, ".get_class($this)."<br>";

               
if ($newShop->get($objectId)) {
                    
$this $newShop;
                    return 
true;
                }
                return 
false;
            } 

и так далее...
ошибка в строчке $this = $newShop;


кто может помогите...

Pashkela 24.05.2009 17:54

гы, ну попробуй так:

$this->$newShop;

Doom123 24.05.2009 18:08

this это ключевое слово это указатель на нынешний класс и ты не можешь его переопределить ...

$this = $newShop; - вот твоя ошибка

решение: не используй переменную this

Chrek625 25.05.2009 00:25

помогло большое спасибо.

ну вот ещё одна проблема почемуто не выводится капча... картинка вообще не выводится хотя и требует ввести. с чем это может быть связанно

Chrek625 25.05.2009 00:27

Doom123 как не использовать? я сделал так как сказал Pashkela и ошибку перестало выводить.

webjema 25.05.2009 00:51

Если не стало ошибки. Это не значит что СТАЛО работать =)))))))

Pashkela 25.05.2009 01:25

Цитата:

Сообщение от webjema
Если не стало ошибки. Это не значит что СТАЛО работать =)))))))

Да? Т.е. в любом скрипте написав "this->$newShop;" и ошибка исчезает - значити не факт, что ошибки нет? :D

astrologer 25.05.2009 01:52

Цитата:

Сообщение от Pashkela
Да? Т.е. в любом скрипте написав "this->$newShop;" и ошибка исчезает - значити не факт, что ошибки нет? :D

Permutation programming?

Chrek625 25.05.2009 02:04

Товарищи знатаки как говориться все проблемы по степени их поступления.

у меня тут ещё много ошибок и одна самая противная из них это:

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in Z:\home\sirius\www\classes\Fighter.php on line 150


вот фрагмент кода

PHP код:

function get($objectId) {
        if (
parent::get($objectId)) {
            
$this->data array_merge($this->dataunserialize($this->data['user_info']));
            unset(
$this->data['user_info']);
            return 
true;
        } else {
            return 
false;
        }
    } 


проблема опять же с $this...

Посоветуйте что то в этом случае...

Pashkela 25.05.2009 02:11

2 astrologer:

simple magic:)

2 Chrek625:

Чувак, ты используешь какие-то классы, код которых не приводишь, думаешь тебе тут реально помогут? Врял ли. Начни с:

PHP код:

<?php
echo "\n1";
?>

+ http://www.translate.ru/ <- вот без этого точно прогресса не будет, хотя бы научиться переводить ошибки, которые тебе выдают прямо на твой широкоформатный монитор


Время: 06:11