@ubunta2, для решения проблемы Вам необходимо найти все логи веб-сервера. В частности логи БД могут натолкнуть на решение проблемы.
@ubunta2, Что в логах MySQL? Если логи не настроены - в настройки. Там нужно галочку поставить чтоб логи велись.
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 секунд!
а где эти логи посмотреть? --- Добавлено --- это? 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)
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) я не заметил при регистрации пользователя изменений
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(); } } ?> --- Добавлено --- логин в бд не попадает, а другие попадают и одна регистрация торолько
Верно. Я сразу не заметил. У Вас в условиях "проверки" логина и пароля в методе regUser ошибка Странно, что в логах не отображается подключение к БД
Это последствия вставки данных? Тогда ок. Ты же не выборку делал, а вставку. По этому запрос вернул 0 строк.
при регистрации пользователя --- Добавлено --- только я не знаю где она --- Добавлено --- ура получилось --- Добавлено --- спасибо огромное за подсказку всем
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: <?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); } elseif (isset ($_POST["auth"])){ $login = $_POST["login"]; $password = $_POST["password"]; $auth_success = $user->login($login, $password); if ($auth_success){ header ("Location: index.php"); exit; } } ?> <html> <head> <title>Регистрация и авторизация пользователей</title> </head> <body> <?php if (auth){ echo "Здравствуйте, ".$_SESSION["login"]; } else { echo '<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>'; } ?> <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: <?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(){ 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(); } } ?>
Ошибка в программисте. Перестань плодить темы и изучи всё на что ты фиг положил. Какое нафиг ооп если ты код еще не умеешь читать и понимать?
на что я получил фиг и что мне изучить? --- Добавлено --- Неустранимая ошибка: Ошибка при сбое: вызов неопределенного метода 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
ТС,реально,ну сколько можно.Прежде чем такие вещи писать - иди на php.net и изучи там хотя бы базовые вещи.100% в твоем случае ответов есть в документации,потому что ты пишешь вообще не задумываясь о том,что и зачем нужно. Как только ты почитаешь там все,почитаешь user contributed notes, потом уже плавно можешь перейти к ОСНОВАМ ооп,и опять ответы искать не на форуме,а на php.net .Толку нет от того,что тебе тут каждую тему разбирают,опыта ты все равно не получаешь,потому что ты не вникаешь в суть.
@ubunta2 Среди ответов на твои 256 сообщений уже не раз были рекомендации. И на эти рекомендации ты тоже xyй положил (да, там xyй а не фиг, цензор и на модераторах срабатывает) и продолжает рвать свою жопу материалом который тебе не по уровню. Конечно, тебе же нужно быстро прочитать эту книгу, быстро начать зарабатывать кучу денег. У тебя вся голова забита фантазиями о том как ты лопатой гребёшь все деньги мира. А должна быть занята совершенно другим. Не получается? Тогда бросай ты это дело и иди толчки чистить. Признайся самому себе, что программирование тебе не по силам и придумай как на чистке толчков грести лопатой все деньги мира. Может быть хоть в этом достигнешь хоть какого-то результата. Хотя нет, не достигнешь. В чистке толчков тоже есть технологии, на изучение которых ты положишь xyй и засрёшь форумы чистильщиков толчков тупыми сообщениями о том почему у тебя не получается чистый толчок при нанесении моющего вещества на зеркало.
@Ganzal, а разве нельзя сообщения из одной темы перенести в другую? Или придется еще и редирект делать?
@Maputo дело не в объединении тем модератором, а в необходимости их создания топикстартером. Опыт объединения уже есть - у @samaraleksandr темы схлопнулись в одну, а автор - отправлен в мир реальный для работы над своим мозгом.
Я не отрицаю что я что-то не понимаю . Вначале изучения я не мог находить синтаксические ошибки. Сейчас мне понятно если пропущена скобка, точка с запятой, кавычки и прочее. Такие ошибки мне уже получается находить. --- Добавлено --- Если не нравятся темы. Можете удалить темы где я получил ответ.
бл* забаните уже, это капец. Беспомощный какой - то прогер. google.ru вставляешь Uncaught Error: Call to undefined method и пиздуешь читать