Я получаю PHP устаревшую ошибку в коде {Форма входа в систему-регистрация} - PullRequest
0 голосов
/ 28 мая 2018

Я получаю следующую ошибку:В чем ошибка в коде?

[27-May-2018 20:37:37 UTC] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; FGMembersite has a deprecated constructor in /home/gurudev/public_html/user/include/fg_membersite.php on line 24
[27-May-2018 20:37:37 UTC] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; FormValidator has a deprecated constructor in /home/gurudev/public_html/user/include/formvalidator.php on line 66
[27-May-2018 20:37:58 UTC] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; FGMembersite has a deprecated constructor in /home/gurudev/public_html/user/include/fg_membersite.php on line 24
[27-May-2018 20:37:58 UTC] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; FormValidator has a deprecated constructor in /home/gurudev/public_html/user/include/formvalidator.php on line 66
[27-May-2018 20:37:58 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in /home/gurudev/public_html/user/include/fg_membersite.php:773
Stack trace:
#0 /home/gurudev/public_html/user/include/fg_membersite.php(729): FGMembersite->DBLogin()
#1 /home/gurudev/public_html/user/include/fg_membersite.php(86): FGMembersite->SaveToDatabase(Array)
#2 /home/gurudev/public_html/user/register.php(6): FGMembersite->RegisterUser()
#3 {main}
  thrown in /home/gurudev/public_html/user/include/fg_membersite.php on line 773

Исходный файл задан: http://cache.youthhustle.com/files/source.txt

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

[27 мая 2018 20:37:37 UTC] PHP устарел: методы с тем же именем, что и их класс, не будут конструкторами в будущей версии PHP;FGMembersite имеет устаревший конструктор в /home/gurudev/public_html/user/include/fg_membersite.php в строке 24

Это означает, что конструктор для класса назван так, что php больше не будетподдержка в будущей версии.

class FGMembersite{

    public function FGMemmbersite() : void{
        echo "something";
    }
}

class FGMembersite{

    public function __construct() : void{
        echo "something";
    }
}

new FGMembersite();

оба класса будут повторять «что-то», разница в том, что метод конструктора в первом больше не будет работать в будущих версиях php как имя, совпадающее с именем самого класса;это должен быть __construct ()

Он предупреждает вас, что ваш код может разбить строку.

0 голосов
/ 28 мая 2018

Пожалуйста, проверьте версию PHP, которую вы используете.mysql_connect() является частью PHP 5.

Цитирование с официального сайта:

Предупреждение Это расширение устарело в PHP 5.5.0 и былоудалено в PHP 7.0.0.Вместо этого следует использовать расширение MySQLi или PDO_MySQL.

Если вы все еще хотите использовать mysql_connect(), используйте соответствующую установку сервера, которая включает PHP 5.x, например, XAMPP 5.6.36

Вы можете легко конвертировать весь свой код PHP 5.x в PHP 7.x.Я лично использовал этот инструмент для некоторых своих проектов, и он работает как шарм.Но у вас есть резервная копия исходного кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...