Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2015, 21:08   #1
abatfarda
Пользователь
 
Аватар для abatfarda
 
Регистрация: 28.03.2015
Сообщений: 12
По умолчанию . Подскажите пожалуйста как исправить ошибку с кодом 18.

Всем доброго времени суток. Подскажите пожалуйста как исправить ошибку с кодом 18. Залил скрипт букса "Супер WM люкс, на платный хостинг хороший, Webhost1.ru, но не в хосте дело не рекламирую а для точного представления прописал тут хостинг. Так вот сам сайт букса вроде открывается в браузере опера, но при регистрации выдает ошибку под кодом 18 а именно вот такую Fatal error: Call-time pass-by-reference has been removed in /home/user9031/virtualbriz2.ru/zsecurity.php on line 18, тут вроде понятно что ошибка в строку 18, а вот что там должно быть написанно чтобы ошибки не было вот тут я не догоняю. Для наглядности привожу саму строку 18 из скрипта ошибки вот она self::$instance = new $_class(&$A); и для большего понимания привожу строки с 10 по 25 вот они

PHP код:
){
$_class = ($Aclass === null) ? __CLASS__ : (string)$Aclass;
$_unique = ((bool)$Aunique === false) ? false true;
if(!
class_exists($_class)):
$_return false;
elseif(
is_object(self::$instance)):
$_return = &self::$instance;
elseif((
self::$instance === null) && $_unique):
self::$instance = new $_class(&$A);
$_return = &self::$instance;
else:
self::$instance false;
$_return = new $_class(&$A);
endif;
return 
$_return;

Подскажите пожалуйста кто знает.

Последний раз редактировалось Stilet; 29.03.2015 в 09:08.
abatfarda вне форума Ответить с цитированием
Старый 29.03.2015, 13:43   #2
abatfarda
Пользователь
 
Аватар для abatfarda
 
Регистрация: 28.03.2015
Сообщений: 12
По умолчанию Подскажите пожалуйста как исправить ошибку с кодом 18.

Нет ни кого кто подскажет? По моему вопросу с кодом 18?
abatfarda вне форума Ответить с цитированием
Старый 29.03.2015, 13:48   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Причина:
Цитата:
Начиная с PHP 5.4.0 передача переменной по ссылке стала невозможна, поэтому использование этого приема приведет к фатальной ошибке.
Решение
Andkorol вне форума Ответить с цитированием
Старый 29.03.2015, 13:57   #4
abatfarda
Пользователь
 
Аватар для abatfarda
 
Регистрация: 28.03.2015
Сообщений: 12
По умолчанию Подскажите пожалуйста как исправить ошибку с кодом 18.

А это можно как то исправить? Если да то как подскажите.
abatfarda вне форума Ответить с цитированием
Старый 29.03.2015, 13:59   #5
abatfarda
Пользователь
 
Аватар для abatfarda
 
Регистрация: 28.03.2015
Сообщений: 12
По умолчанию Подскажите пожалуйста как исправить ошибку с кодом 18.

Извиняюсь не заметел ссылок сразу. Причина , решение.
abatfarda вне форума Ответить с цитированием
Старый 29.03.2015, 14:09   #6
abatfarda
Пользователь
 
Аватар для abatfarda
 
Регистрация: 28.03.2015
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Спасибо за подсказку!
abatfarda вне форума Ответить с цитированием
Старый 29.03.2015, 18:45   #7
abatfarda
Пользователь
 
Аватар для abatfarda
 
Регистрация: 28.03.2015
Сообщений: 12
По умолчанию Подскажите пожалуйста как исправить ошибку с кодом 18.

Прошу прощения. С предыдущего совета узнал много нового и интересного, но так как я не программист, то так и не понял как именно нужно преписать страку 18 в каком именно виде она должна выглядеть в конечном итого от той что сейчас. При регестрации на сайте букса "Супер WM люкс который я скачал из инета бесплатно и залил в се файлы на хостинг, вот сам сайт отоброжается вроде открывается в браузере опера, но пре попытке зарегаться, выдаёт вот такое:
Fatal error: Call-time pass-by-reference has been removed in /home/user9031/virtualbriz2.ru/zsecurity.php on line 18
Тут впринцепи понятно что она означает, так как я не программист, но увлекаюсь строительством сайтов, правдо пока только как начинающий, но кое что уже сооброжаю, отвлёкся немного, так вот при реге выдаёт вот такую строку что прописал выше с кодом 18, тут понятно что в строке 18 в файле zsecurity.php не правельно прописанна строка 18, а вот как она должна выглядеть в правельном варианте, тут я торможу.
Для наглядности привожу саму строку 18 вот она: self::$instance = new $_class(&$A);
и для большего представления всего привожу весь файл zsecurity.php вот он:

<?
class ZSecurity{
const SELF = 'ZSecurity';
private static $instance = null;

public static function &init(
$A = null,
$Aclass = null,
$Aunique = true
){
$_class = ($Aclass === null) ? __CLASS__ : (string)$Aclass;
$_unique = ((bool)$Aunique === false) ? false : true;
if(!class_exists($_class)):
$_return = false;
elseif(is_object(self::$instance)):
$_return = &self::$instance;
elseif((self::$instance === null) && $_unique):
self::$instance = new $_class(&$A);
$_return = &self::$instance;
else:
self::$instance = false;
$_return = new $_class(&$A);
endif;
return $_return;
}

protected function __construct(
$A
){
global $_POST;
$_POST = $this->tagCLEAN(&$_POST);
$_POST = $this->htmlspecialchars(&$_POST);
}

public function __destruct(){
}

final public function htmlspecialchars(
$A
){
if(is_string($A)):
$_pattern = array('&', "'", '"', '<', '>', '\\');
$_replacement = array('&amp;', ''', '&quot;', '&lt;', '&gt;', '\\\\');
$_return = str_replace($_pattern, $_replacement, $A);
elseif(is_array($A)):
$_function = __FUNCTION__;
foreach($A as &$_value):
$_value = $this->$_function(&$_value);
endforeach;
$_return = &$A;
else:
$_return = null;
endif;
return $_return;
}

final public function unhtmlspecialchars(
$A
){
if(is_string($A)):
$_pattern = array('&amp;', ''', '&quot;', '&lt;', '&gt;', '\\\\');
$_replacement = array('&', "'", '"', '<', '>', '\\');
$_return = str_replace($_pattern, $_replacement, $A);
elseif(is_array($A)):
$_function = __FUNCTION__;
foreach($A as &$_value):
$_value = $this->$_function(&$_value);
endforeach;
$_return = &$A;
else:
$_return = null;
endif;
return $_return;
}

public function tagCLEAN(
$A,
$Atag_alloweded = null
){
if($Atag_alloweded === null):
$_tag_alloweded = null;
elseif(is_scalar($Atag_alloweded)):
$_tag_alloweded = (string)$Atag_alloweded;
elseif(is_array($Atag_alloweded)):
$_tag_alloweded = join(' ', (string)$Atag_alloweded);
else:
$_tag_alloweded = null;
endif;
//
if(is_scalar($A)):
$_return = strip_tags($A, $_tag_alloweded);
elseif(is_array($A)):
foreach($A as &$_value)
$_value = $this->tagCLEAN(&$_value, &$_tag_alloweded);
$_return = &$A;
else:
$_return = null;
endif;
return $_return;
}
}
$ZSECURITY = &ZSecurity::init();
?>


Помогите кто сможет пожалуйста.
abatfarda вне форума Ответить с цитированием
Старый 29.03.2015, 21:08   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от abatfarda Посмотреть сообщение
но так как я не программист, то так и не понял
Так как ты не программист – лучше не лезь в готовый код вообще.
Иначе «ошибки с кодом 18» не закончатся никогда.
Andkorol вне форума Ответить с цитированием
Старый 29.03.2015, 21:52   #9
abatfarda
Пользователь
 
Аватар для abatfarda
 
Регистрация: 28.03.2015
Сообщений: 12
По умолчанию Подскажите пожалуйста как исправить ошибку с кодом 18

Не программист я да, но чтобы чему то научится нужно что то для этого делать, вот я и делаю. Я помощи прошу а не критики.
abatfarda вне форума Ответить с цитированием
Старый 29.03.2015, 22:02   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Чтоб чему-то научиться – нужно учиться, по учебникам, с самых основ.
То, что делаешь ты – это не обучение, это «сделайте всё вместо меня – потому, что я торможу».
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите ПОЖАЛУЙСТА исправить ошибку. лингвист Помощь студентам 0 21.01.2015 20:35
Подскажите как исправить ошибку ROM710 Софт 1 24.02.2014 13:46
Помогите пожалуйста исправить ошибку!!!Please!!! Irin@ Помощь студентам 1 02.04.2009 20:31
Помогите пожалуйста найти и исправить ошибку Sam04 Паскаль, Turbo Pascal, PascalABC.NET 4 10.06.2008 08:28