Здравствуйте. У меня возникла проблема, я решил сделать вход по вк. Но у меня возникла проблема. Если не сложно можете помочь? Ошибка: Код (Text): Fatal error: Uncaught Error: Class 'Mysql' not found in W:\domains\localhost\init.php:41 Stack trace: #0 W:\domains\localhost\index.php(1): require() #1 {main} thrown in W:\domains\localhost\init.php on line 41 Код: PHP: <?php /* Подключение библиотек */ require_once 'simplevk-master/autoload.php'; require_once 'vendor/autoload.php'; session_start(); // старт сессии /* Константы для работы с БД */ const SERVER = 'localhost'; const USERNAME = 'root'; const PASSWORD = ''; const DATABASE_NAME = 'Studio'; const CHARSET = 'utf8mb4'; if ( $_SESSION['user_id'] ) // Проверяем, есть в массиве $_SESSION айди юзера { $row = $db->query( "SELECT * FROM users WHERE `vk_id` = ?i LIMIT 1", $_SESSION['user_id'] )->fetchAssoc(); // Вытаскиваем из БД инфу о юзере $login = $row['first_name'] . ' ' . $row['last_name']; // Конкотенируем имя и фамилию пользователя для удобства, записываем результат в переменную $login } else { $login = ''; // Если пользователь не авторизован, то логин будет равен пустой строке } /* Массив с данными о нашем приложении в ВК */ const SETTINGS = array ( 'client_id' => 'Секрет', // ID приложения 'client_secret' => 'Секрет', // Защищённый ключ 'redirect_uri' => 'http://localhost/' // Страница, на которую нас перебросит после авторизации ); $db = Mysql::create( SERVER, USERNAME, PASSWORD )->setDatabaseName( DATABASE_NAME )->setCharset( CHARSET ); // Подключение к БД $auth = new \DigitalStar\vk_api\SiteAuth( SETTINGS ); // Создаём экземпляр класса SiteAuth Где ошибка: PHP: $db = Mysql::create( SERVER, USERNAME, PASSWORD )->setDatabaseName( DATABASE_NAME )->setCharset( CHARSET ); // Подключение к БД $auth = new \DigitalStar\vk_api\SiteAuth( SETTINGS ); // Создаём экземпляр класса SiteAuth
Ну если класс не найден, это значит ты не указал где он. ))) Там где у тебя коментарий "Подключение библиотек" я подозреваю должны автолоадеры классов работать. Аж две штуки. Но что-то там не так. ТАМ. А не в том фрагменте, который ты показал.
Уже исправил, но появилась новая проблема... Код (Text): Fatal error: Uncaught Error: Call to undefined function mysql_query() in W:\domains\localhost\login.php:49 Stack trace: #0 {main} thrown in W:\domains\localhost\login.php on line 49 PHP: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <?php require_once("includes/connection.php"); ?> <?php include("includes/header.php"); ?> <?php include("includes/footer.php"); ?> <title> Как с помощью PHP и MySQL создать систему регистрации и авторизации пользователей</title> <link href="css/style.css" media="screen" rel="stylesheet"> <link href= 'http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'> </head> <body> <div class="container mlogin"> <div id="login"> <h1>Вход</h1> <form action="" id="loginform" method="post"name="loginform"> <p><label for="user_login">Имя пользователя<br> <input class="input" id="username" name="username"size="20" type="text" value=""></label></p> <p><label for="user_pass">Пароль<br> <input class="input" id="password" name="password"size="20" type="password" value=""></label></p> <p class="submit"><input class="button" name="login"type= "submit" value="Войти"></p> <p class="regtext">Еще не зарегистрированы?<a href= "register.php">Регистрация</a>!</p> </form> </div> </div> <footer> </footer> <?php session_start(); ?> <?php require_once("includes/connection.php"); ?> <?php include("includes/header.php"); ?> <?php if(isset($_SESSION["session_username"])){ // вывод "Session is set"; // в целях проверки header("Location: intropage.php"); } if(isset($_POST["login"])){ if(!empty($_POST['username']) && !empty($_POST['password'])) { $username=htmlspecialchars($_POST['username']); $password=htmlspecialchars($_POST['password']); $query =mysql_query("SELECT * FROM usertbl WHEREusername='".$username."' AND password='".$password."'"); $numrows=mysql_num_rows($query); if($numrows!=0) { while($row=mysql_fetch_assoc($query)) { $dbusername=$row['username']; $dbpassword=$row['password']; } if($username == $dbusername && $password == $dbpassword) { // старое место расположения // session_start(); $_SESSION['session_username']=$username; /* Перенаправление браузера */ header("Location: intropage.php"); } } else { // $message = "Invalid username or password!"; echo "Invalid username or password!"; } } else { $message = "All fields are required!"; } } ?> </body> </html> Строка ошибки: PHP: $query =mysql_query("SELECT * FROM usertbl WHEREusername='".$username."' AND password='".$password."'");
новая проблема — новая тема. давай так. --- Добавлено --- Функции mysql_* давно мертвы. Есть очень похожий набор mysqli_* и есть не очень похожий PDO. Попробуй заменить. https://www.php.net/manual/ru/function.mysql-query.php
я не буду смотреть. )) есть ощущение, что ты сам не хочешь разбираться. в доке все написано как правильно делать