За последние 24 часа нас посетили 18884 программиста и 1634 робота. Сейчас ищут 797 программистов ...

Превозмогания тред

Тема в разделе "PHP для новичков", создана пользователем ubunta2, 27 июн 2017.

  1. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @ubunta2, для решения проблемы Вам необходимо найти все логи веб-сервера. В частности логи БД могут натолкнуть на решение проблемы.
     
    ubunta2 нравится это.
  2. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    а где эти логи взять?
    --- Добавлено ---
    какие?
     
  3. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @ubunta2, как Вы запускаете openserver?
    У Вас такая менюшка есть:
    [​IMG]
     
    ubunta2 нравится это.
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    те, которые ты пропустил
     
  5. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    есть
     
  6. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @ubunta2, Что в логах MySQL? Если логи не настроены - в настройки. Там нужно галочку поставить чтоб логи велись.
     
  7. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    2017-08-09 09:36:15 --------------------------------------------
    2017-08-09 09:36:15 Начало процедуры запуска сервера
    2017-08-09 09:36:15 Обновление Hosts файла
    2017-08-09 09:36:15 Обновление конфигурации MySQL-5.5
    2017-08-09 09:36:15 Обновление конфигурации Sendmail
    2017-08-09 09:36:15 Обновление конфигурации PHP-7.0-x64
    2017-08-09 09:36:15 Обновление конфигурации PHPMyAdmin
    2017-08-09 09:36:15 Обновление конфигурации Apache-PHP-7-x64+Nginx-1.10
    2017-08-09 09:36:15 Запуск MySQL-5.5
    2017-08-09 09:36:15 Запуск Apache-PHP-7-x64+Nginx-1.10
    2017-08-09 09:36:19 Проверка состояния сервера
    2017-08-09 09:36:21 Cервер успешно запущен за 6,521 секунд!
     
  8. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Это лог самого опенсервера
     
  9. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    а где эти логи посмотреть?
    --- Добавлено ---
    это?
    170810 9:43:49 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
    170810 9:43:49 [Note] e:\openserver\modules\database\MySQL-5.5\bin\mysqld.exe (mysqld 5.5.53-log) starting as process 5016 ...
    170810 9:43:49 [Note] Plugin 'FEDERATED' is disabled.
    170810 9:43:49 InnoDB: The InnoDB memory heap is disabled
    170810 9:43:49 InnoDB: Mutexes and rw_locks use Windows interlocked functions
    170810 9:43:49 InnoDB: Compressed tables use zlib 1.2.3
    170810 9:43:49 InnoDB: Initializing buffer pool, size = 128.0M
    170810 9:43:49 InnoDB: Completed initialization of buffer pool
    170810 9:43:49 InnoDB: highest supported file format is Barracuda.
    170810 9:43:50 InnoDB: Waiting for the background threads to start
    170810 9:43:51 InnoDB: 5.5.53 started; log sequence number 1595685
    170810 9:43:51 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
    170810 9:43:51 [Note] - '127.0.0.1' resolves to '127.0.0.1';
    170810 9:43:51 [Note] Server socket created on IP: '127.0.0.1'.
    170810 9:43:51 [Note] Event Scheduler: Loaded 0 events
    170810 9:43:51 [Note] e:\openserver\modules\database\MySQL-5.5\bin\mysqld.exe: ready for connections.
    Version: '5.5.53-log' socket: '' port: 3306 MySQL Community Server (GPL)
     
  10. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Да. Только нужен тот момент когда пользователь пытается регистрироваться.
     
  11. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    170810 11:12:00 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
    170810 11:12:00 [Note] e:\openserver\modules\database\MySQL-5.5\bin\mysqld.exe (mysqld 5.5.53-log) starting as process 5212 ...
    170810 11:12:00 [Note] Plugin 'FEDERATED' is disabled.
    170810 11:12:00 InnoDB: The InnoDB memory heap is disabled
    170810 11:12:00 InnoDB: Mutexes and rw_locks use Windows interlocked functions
    170810 11:12:00 InnoDB: Compressed tables use zlib 1.2.3
    170810 11:12:00 InnoDB: Initializing buffer pool, size = 128.0M
    170810 11:12:00 InnoDB: Completed initialization of buffer pool
    170810 11:12:00 InnoDB: highest supported file format is Barracuda.
    170810 11:12:01 InnoDB: Waiting for the background threads to start
    170810 11:12:02 InnoDB: 5.5.53 started; log sequence number 1595685
    170810 11:12:02 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
    170810 11:12:02 [Note] - '127.0.0.1' resolves to '127.0.0.1';
    170810 11:12:02 [Note] Server socket created on IP: '127.0.0.1'.
    170810 11:12:02 [Note] Event Scheduler: Loaded 0 events
    170810 11:12:02 [Note] e:\openserver\modules\database\MySQL-5.5\bin\mysqld.exe: ready for connections.
    Version: '5.5.53-log' socket: '' port: 3306 MySQL Community Server (GPL)

    я не заметил при регистрации пользователя изменений
     
  12. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    index.php
    <?php
    require_once "lib/user_class.php";
    $user = User::getObject();
    if (isset ($_POST["reg"])){
    $login = $_POST["login"];
    $password = $_POST["password"];
    $reg_success = $user->regUser($login, $password);
    }

    ?>
    <html>
    <head>
    <title>Регистрация и авторизация пользователей</title>
    </head>
    <body>
    <h1>Регистрация</h1>
    <form name="red" action="index.php" method="post">
    <table>
    <tr>
    <td>Логин</td>
    <td>
    <input type="text" name="login">
    </td>
    <tr>
    <tr>
    <td>Пароль</td>
    <td>
    <input type="password" name="password">
    </td>
    <tr>
    <tr>
    <td clospan="2">
    <input type="submit" name="reg" value="Зарегистрироваться">
    </td>
    <tr>
    </table>
    </form>
    <h1>Авторизация</h1>
    <form name="auth" action="index.php" method="post">
    <table>
    <tr>
    <td>Логин</td>
    <td>
    <input type="text" name="login">
    </td>
    <tr>
    <tr>
    <td>Пароль</td>
    <td>
    <input type="password" name="password">
    </td>
    <tr>
    <tr>
    <td clospan="2">
    <input type="submit" name="auth" value="Войти">
    </td>
    <tr>
    </table>
    </form>
    </body>
    </html>


    user_class.php

    <?php
    class User{
    private $db;
    private static $user = null;
    private function __construct(){
    $this->db = new mysqli("localhost", "root", "", "mybase");
    $this->db->query("SET NAMES 'utf8'");
    }
    public static function getObject(){
    if(self::$user === null) self::$user = new User();
    return self::$user;
    }
    public function regUser($login, $password){
    if($login = "") return false;
    if($password = "") return false;
    $password = md5($password);
    return $this->db->query("INSERT INTO `users` (`login`, `password`, `regdate`) VALUES ('$login', '$password', '".time()."')");
    }
    private function chekUser($login, $password){
    $result_set = $this->db->query("SELECT `password` FROM `users` WHERE `login` = '$login' ");
    $user = $result_set -> fetch_assoc();
    $result_set->close();
    if(!$user) return false;
    return $user["password"] === $password;
    }
    public function isAuth($login, $password){
    session_start();
    $login = $SESSION["login"];
    $password = $SESSION["password"];
    return $this->chekUser($login, $password);
    }
    public function login($login, $password){
    $password = md5($password);
    if($this->ckekUser($login, $password)){
    session_start();
    $SESSION["login"] = $login;
    $SESSION["password"] = $password;
    }
    }
    public function __destruct(){
    if($this->db) $this->db->close();
    }
    }
    ?>
    --- Добавлено ---
    логин в бд не попадает, а другие попадают и одна регистрация торолько
     
  13. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Верно. Я сразу не заметил. У Вас в условиях "проверки" логина и пароля в методе regUser ошибка
    Странно, что в логах не отображается подключение к БД
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Это последствия вставки данных? Тогда ок. Ты же не выборку делал, а вставку. По этому запрос вернул 0 строк.
     
  15. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    при регистрации пользователя
    --- Добавлено ---
    только я не знаю где она
    --- Добавлено ---
    ура получилось
    --- Добавлено ---
    спасибо огромное за подсказку всем
     
  16. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Fatal error: Uncaught Error: Call to undefined method User::ckekUser() in E:\OpenServer\domains\test\3\lib\user_class.php:34 Stack trace: #0 E:\OpenServer\domains\test\3\index.php(12): User->login('1', 'c4ca4238a0b9238...') #1 {main} thrown in E:\OpenServer\domains\test\3\lib\user_class.php on line 34

    index.php

    PHP:
    1. <?php
    2. require_once "lib/user_class.php";
    3. $user = User::getObject();
    4. if (isset ($_POST["reg"])){
    5.     $login = $_POST["login"];
    6.     $password = $_POST["password"];
    7.     $reg_success = $user->regUser($login, $password);
    8. }
    9. elseif (isset ($_POST["auth"])){
    10.     $login = $_POST["login"];
    11.     $password = $_POST["password"];
    12.     $auth_success = $user->login($login, $password);
    13.     if ($auth_success){
    14.         header ("Location: index.php");
    15.         exit;
    16.     }
    17. }
    18. ?>
    19. <html>
    20. <head>
    21.     <title>Регистрация и авторизация пользователей</title>
    22. </head>
    23. <body>
    24. <?php
    25. if (auth){
    26.     echo "Здравствуйте, ".$_SESSION["login"];
    27. }
    28. else {
    29.     echo '<h1>Регистрация</h1>
    30.    <form name="red" action="index.php" method="post">
    31.    <table>
    32.    <tr>
    33.    <td>Логин</td>
    34.    <td>
    35.    <input type="text" name="login">
    36.    </td>
    37.    <tr>
    38.    <tr>
    39.    <td>Пароль</td>
    40.    <td>
    41.    <input type="password" name="password">
    42.    </td>
    43.    <tr>
    44.    <tr>
    45.    <td clospan="2">
    46.    <input type="submit" name="reg" value="Зарегистрироваться">
    47.    </td>
    48.    <tr>
    49.    </table>
    50.    </form>
    51.        <h1>Авторизация</h1>
    52.    <form name="auth" action="index.php" method="post">
    53.    <table>
    54.    <tr>
    55.    <td>Логин</td>
    56.    <td>
    57.    <input type="text" name="login">
    58.    </td>
    59.    <tr>
    60.    <tr>
    61.    <td>Пароль</td>
    62.    <td>
    63.    <input type="password" name="password">
    64.    </td>
    65.    <tr>
    66.    <tr>
    67.    <td clospan="2">
    68.    <input type="submit" name="auth" value="Войти">
    69.    </td>
    70.    <tr>
    71.    </table>
    72.    </form>';
    73. }
    74. ?>
    75.     <h1>Регистрация</h1>
    76.     <form name="red" action="index.php" method="post">
    77.     <table>
    78.     <tr>
    79.     <td>Логин</td>
    80.     <td>
    81.     <input type="text" name="login">
    82.     </td>
    83.     <tr>
    84.     <tr>
    85.     <td>Пароль</td>
    86.     <td>
    87.     <input type="password" name="password">
    88.     </td>
    89.     <tr>
    90.     <tr>
    91.     <td clospan="2">
    92.     <input type="submit" name="reg" value="Зарегистрироваться">
    93.     </td>
    94.     <tr>
    95.     </table>
    96.     </form>
    97.         <h1>Авторизация</h1>
    98.     <form name="auth" action="index.php" method="post">
    99.     <table>
    100.     <tr>
    101.     <td>Логин</td>
    102.     <td>
    103.     <input type="text" name="login">
    104.     </td>
    105.     <tr>
    106.     <tr>
    107.     <td>Пароль</td>
    108.     <td>
    109.     <input type="password" name="password">
    110.     </td>
    111.     <tr>
    112.     <tr>
    113.     <td clospan="2">
    114.     <input type="submit" name="auth" value="Войти">
    115.     </td>
    116.     <tr>
    117.     </table>
    118.     </form>
    119. </body>
    120. </html>
    user_class.php

    PHP:
    1. <?php
    2.   class User{
    3.     private $db;
    4.     private static $user = null;
    5.     private function __construct(){
    6.       $this->db = new mysqli("localhost", "root", "", "mybase");
    7.       $this->db->query("SET NAMES 'utf8'");
    8.     }
    9.     public static function getObject(){
    10.       if(self::$user === null) self::$user = new User();
    11.       return self::$user;
    12.     }
    13.     public function regUser($login, $password){
    14.       if ($login == "") return false;
    15.       if ($password == "") return false;
    16.       $password = md5($password);
    17.       return $this->db->query("INSERT INTO `users` (`login`, `password`, `regdate`) VALUES ('$login', '$password', '".time()."')");
    18.     }
    19.     private function chekUser($login, $password){
    20.       $result_set = $this->db->query("SELECT `password` FROM `users` WHERE `login` = '$login' ");
    21.       $user = $result_set -> fetch_assoc();
    22.       $result_set->close();
    23.       if(!$user) return false;
    24.       return $user["password"] === $password;
    25.     }
    26.     public function isAuth(){
    27.       session_start();
    28.       $login = $SESSION["login"];
    29.       $password = $SESSION["password"];
    30.       return $this->chekUser($login, $password);
    31.     }
    32.     public function login($login, $password){
    33.       $password = md5($password);
    34.       if($this->ckekUser($login, $password)){
    35.         session_start();
    36.         $SESSION["login"] = $login;
    37.         $SESSION["password"] = $password;
    38.       }
    39.     }
    40.     public function __destruct(){
    41.       if($this->db) $this->db->close();
    42.     }
    43.   }
    44. ?>
     
  17. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Ошибка в программисте. Перестань плодить темы и изучи всё на что ты фиг положил. Какое нафиг ооп если ты код еще не умеешь читать и понимать?
     
    alexblack нравится это.
  18. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    на что я получил фиг и что мне изучить?
    --- Добавлено ---
    Неустранимая ошибка: Ошибка при сбое: вызов неопределенного метода User :: ckekUser () в E: \ OpenServer \ domains \ test \ 3 \ lib \ user_class.php: 34 Трассировка стека: # 0 E: \ OpenServer \ domains \ test \ 3 \ Index.php (12): User-> login ('1', 'c4ca4238a0b9238 ...') # 1 {main} брошен в E: \ OpenServer \ domains \ test \ 3 \ lib \ user_class.php в строке 34
     
  19. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    ТС,реально,ну сколько можно.Прежде чем такие вещи писать - иди на php.net и изучи там хотя бы базовые вещи.100% в твоем случае ответов есть в документации,потому что ты пишешь вообще не задумываясь о том,что и зачем нужно. Как только ты почитаешь там все,почитаешь user contributed notes, потом уже плавно можешь перейти к ОСНОВАМ ооп,и опять ответы искать не на форуме,а на php.net .Толку нет от того,что тебе тут каждую тему разбирают,опыта ты все равно не получаешь,потому что ты не вникаешь в суть.
     
  20. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @ubunta2 Среди ответов на твои 256 сообщений уже не раз были рекомендации. И на эти рекомендации ты тоже xyй положил (да, там xyй а не фиг, цензор и на модераторах срабатывает) и продолжает рвать свою жопу материалом который тебе не по уровню. Конечно, тебе же нужно быстро прочитать эту книгу, быстро начать зарабатывать кучу денег. У тебя вся голова забита фантазиями о том как ты лопатой гребёшь все деньги мира. А должна быть занята совершенно другим. Не получается? Тогда бросай ты это дело и иди толчки чистить. Признайся самому себе, что программирование тебе не по силам и придумай как на чистке толчков грести лопатой все деньги мира. Может быть хоть в этом достигнешь хоть какого-то результата. Хотя нет, не достигнешь. В чистке толчков тоже есть технологии, на изучение которых ты положишь xyй и засрёшь форумы чистильщиков толчков тупыми сообщениями о том почему у тебя не получается чистый толчок при нанесении моющего вещества на зеркало.
     
  21. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @Ganzal, а разве нельзя сообщения из одной темы перенести в другую? Или придется еще и редирект делать?
     
  22. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Maputo дело не в объединении тем модератором, а в необходимости их создания топикстартером. Опыт объединения уже есть - у @samaraleksandr темы схлопнулись в одну, а автор - отправлен в мир реальный для работы над своим мозгом.
     
    Maputo нравится это.
  23. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Я не отрицаю что я что-то не понимаю . Вначале изучения я не мог находить синтаксические ошибки. Сейчас мне понятно если пропущена скобка, точка с запятой, кавычки и прочее. Такие ошибки мне уже получается находить.
    --- Добавлено ---
    Если не нравятся темы. Можете удалить темы где я получил ответ.
     
  24. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    бл* забаните уже, это капец. Беспомощный какой - то прогер.
    google.ru вставляешь Uncaught Error: Call to undefined method и пиздуешь читать
     
  25. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень