За последние 24 часа нас посетили 16498 программистов и 1798 роботов. Сейчас ищут 1302 программиста ...

Fatal error: Uncaught Error: Class 'Mysql' not found in W:\domains\localhost\init.php:41 Stack trace

Тема в разделе "PHP для новичков", создана пользователем MrGerst, 20 ноя 2023.

  1. MrGerst

    MrGerst Новичок

    С нами с:
    20 ноя 2023
    Сообщения:
    18
    Симпатии:
    0
    Здравствуйте. У меня возникла проблема, я решил сделать вход по вк. Но у меня возникла проблема.
    Если не сложно можете помочь?

    Ошибка:
    Код (Text):
    1. 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:
    1. <?php
    2.  
    3.  
    4. /* Подключение библиотек */
    5. require_once 'simplevk-master/autoload.php';
    6. require_once 'vendor/autoload.php';
    7.  
    8.  
    9.  
    10. session_start(); // старт сессии
    11.  
    12.  
    13.  
    14. /* Константы для работы с БД */
    15. const SERVER = 'localhost';
    16. const USERNAME = 'root';
    17. const PASSWORD = '';
    18. const DATABASE_NAME = 'Studio';
    19. const CHARSET = 'utf8mb4';
    20.  
    21.  
    22. if ( $_SESSION['user_id'] ) // Проверяем, есть в массиве $_SESSION айди юзера
    23. {
    24.     $row = $db->query( "SELECT * FROM users WHERE `vk_id` = ?i LIMIT 1", $_SESSION['user_id'] )->fetchAssoc(); // Вытаскиваем из БД инфу о юзере
    25.  
    26.     $login = $row['first_name'] . ' ' . $row['last_name']; // Конкотенируем имя и фамилию пользователя для удобства, записываем результат в переменную $login
    27. }
    28. else
    29. {
    30.     $login = ''; // Если пользователь не авторизован, то логин будет равен пустой строке
    31. }
    32.  
    33. /* Массив с данными о нашем приложении в ВК */
    34. const SETTINGS = array (
    35.     'client_id' => 'Секрет', // ID приложения
    36.     'client_secret' => 'Секрет', // Защищённый ключ
    37.     'redirect_uri' => 'http://localhost/' // Страница, на которую нас перебросит после авторизации
    38. );
    39.  
    40.  
    41. $db = Mysql::create( SERVER, USERNAME, PASSWORD )->setDatabaseName( DATABASE_NAME )->setCharset( CHARSET ); // Подключение к БД
    42. $auth = new \DigitalStar\vk_api\SiteAuth( SETTINGS ); // Создаём экземпляр класса SiteAuth
    Где ошибка:
    PHP:
    1. $db = Mysql::create( SERVER, USERNAME, PASSWORD )->setDatabaseName( DATABASE_NAME )->setCharset( CHARSET ); // Подключение к БД
    2. $auth = new \DigitalStar\vk_api\SiteAuth( SETTINGS ); // Создаём экземпляр класса SiteAuth
     
  2. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.096
    Симпатии:
    1.240
    Адрес:
    там-сям
    Ну если класс не найден, это значит ты не указал где он. ))) Там где у тебя коментарий "Подключение библиотек" я подозреваю должны автолоадеры классов работать. Аж две штуки. Но что-то там не так. ТАМ. А не в том фрагменте, который ты показал.
     
  3. MrGerst

    MrGerst Новичок

    С нами с:
    20 ноя 2023
    Сообщения:
    18
    Симпатии:
    0
    Уже исправил, но появилась новая проблема...

    Код (Text):
    1. 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:
    1. <!DOCTYPE html>
    2.     <html lang="en">
    3.     <head>
    4. <meta charset="utf-8">
    5. <?php require_once("includes/connection.php"); ?>
    6. <?php include("includes/header.php"); ?>
    7. <?php include("includes/footer.php"); ?>
    8. <title> Как с помощью PHP и MySQL создать систему регистрации и авторизации пользователей</title>
    9. <link href="css/style.css" media="screen" rel="stylesheet">
    10. <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'>
    11. </head>
    12. <body>
    13. <div class="container mlogin">
    14. <div id="login">
    15. <h1>Вход</h1>
    16. <form action="" id="loginform" method="post"name="loginform">
    17. <p><label for="user_login">Имя пользователя<br>
    18. <input class="input" id="username" name="username"size="20"
    19. type="text" value=""></label></p>
    20. <p><label for="user_pass">Пароль<br>
    21. <input class="input" id="password" name="password"size="20"
    22.   type="password" value=""></label></p>
    23.     <p class="submit"><input class="button" name="login"type= "submit" value="Войти"></p>
    24.     <p class="regtext">Еще не зарегистрированы?<a href= "register.php">Регистрация</a>!</p>
    25.    </form>
    26. </div>
    27.   </div>
    28. <footer>
    29.  
    30. </footer>
    31. <?php
    32.     session_start();
    33.     ?>
    34.  
    35.     <?php require_once("includes/connection.php"); ?>
    36.     <?php include("includes/header.php"); ?>    
    37.     <?php
    38.    
    39.     if(isset($_SESSION["session_username"])){
    40.     // вывод "Session is set"; // в целях проверки
    41.     header("Location: intropage.php");
    42.     }
    43.  
    44.     if(isset($_POST["login"])){
    45.  
    46.     if(!empty($_POST['username']) && !empty($_POST['password'])) {
    47.     $username=htmlspecialchars($_POST['username']);
    48.     $password=htmlspecialchars($_POST['password']);
    49.     $query =mysql_query("SELECT * FROM usertbl WHEREusername='".$username."' AND password='".$password."'");
    50.     $numrows=mysql_num_rows($query);
    51.     if($numrows!=0)
    52. {
    53. while($row=mysql_fetch_assoc($query))
    54. {
    55.     $dbusername=$row['username'];
    56.   $dbpassword=$row['password'];
    57. }
    58.   if($username == $dbusername && $password == $dbpassword)
    59. {
    60.     // старое место расположения
    61.     //  session_start();
    62.      $_SESSION['session_username']=$username;    
    63. /* Перенаправление браузера */
    64.    header("Location: intropage.php");
    65.     }
    66.     } else {
    67.     //  $message = "Invalid username or password!";
    68.    
    69.     echo  "Invalid username or password!";
    70. }
    71.     } else {
    72.     $message = "All fields are required!";
    73.     }
    74.     }
    75.     ?>
    76. </body>
    77. </html>
    Строка ошибки:
    PHP:
    1.     $query =mysql_query("SELECT * FROM usertbl WHEREusername='".$username."' AND password='".$password."'");
     
  4. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.096
    Симпатии:
    1.240
    Адрес:
    там-сям
    новая проблема — новая тема. давай так.
    --- Добавлено ---
    Функции mysql_* давно мертвы. Есть очень похожий набор mysqli_* и есть не очень похожий PDO. Попробуй заменить.

    https://www.php.net/manual/ru/function.mysql-query.php
     
  5. MrGerst

    MrGerst Новичок

    С нами с:
    20 ноя 2023
    Сообщения:
    18
    Симпатии:
    0
    Пробовал, выдает ошибки, показать?
     
  6. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.096
    Симпатии:
    1.240
    Адрес:
    там-сям
    я не буду смотреть. )) есть ощущение, что ты сам не хочешь разбираться. в доке все написано как правильно делать
     
  7. MrGerst

    MrGerst Новичок

    С нами с:
    20 ноя 2023
    Сообщения:
    18
    Симпатии:
    0
    В каких доках?
     
  8. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.096
    Симпатии:
    1.240
    Адрес:
    там-сям
    я ссылку дал. php.net - это официальный сайт. там документация.
     
  9. MrGerst

    MrGerst Новичок

    С нами с:
    20 ноя 2023
    Сообщения:
    18
    Симпатии:
    0
    А, не увидел
    --- Добавлено ---
    Если честно, ничего не понял...