За последние 24 часа нас посетили 16718 программистов и 1643 робота. Сейчас ищет 1791 программист ...

mysqli выдает ошибки...

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

  1. MrGerst

    MrGerst Новичок

    С нами с:
    20 ноя 2023
    Сообщения:
    18
    Симпатии:
    0
    Здравствуйте, у меня проблема с системой регистрации. Во первых у меня не заносятся данные в бд, а во вторых у меня выскакивают две ошибки. Подскажите, как их исправить... Заранее спасибо.

    Ошибки:
    Код (Text):
    1. Warning: mysqli_query() expects at least 2 parameters, 1 given in W:\domains\localhost\login.php on line 49
    2.  
    3. Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in W:\domains\localhost\login.php on line 50
    4. Invalid username or password!
    Строчки ошибок:
    PHP:
    1. $query =mysqli_query("SELECT * FROM usertbl WHEREusername='".$username."' AND password='".$password."'");
    2.     $numrows=mysqli_num_rows($query);
    \

    Код:
    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 =mysqli_query("SELECT * FROM usertbl WHEREusername='".$username."' AND password='".$password."'");
    50.     $numrows=mysqli_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>
     
  2. Aleksandr.B

    Aleksandr.B Новичок

    С нами с:
    2 фев 2023
    Сообщения:
    159
    Симпатии:
    41
    Адрес:
    Барнаул
  3. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    449
    Симпатии:
    87
    Адрес:
    Бавария, Германия
    Добрый день!
    Вам правильно подсказали то, что в mysqli_query должно быть указано два параметра - connet и query
    В дополнение, советую Вам изменить эту часть кода;
    PHP:
    1. $query =mysqli_query("SELECT * FROM usertbl WHEREusername='".$username."' AND password='".$password."'");
    2. $numrows=mysqli_num_rows($query);
    3. if($numrows!=0)
    4. {
    5.     while($row=mysql_fetch_assoc($query))
    6.     {
    7.         $dbusername=$row['username'];
    8.         $dbpassword=$row['password'];
    9.     }
    10.     if($username == $dbusername && $password == $dbpassword)
    11.     {
    12.         // старое место расположения
    13.         //  session_start();
    14.          $_SESSION['session_username']=$username;
    15.         /* Перенаправление браузера */
    16.         header("Location: intropage.php");
    17.     }
    18.     else
    19.     {
    20.         //$message = "Invalid username or password!";
    21.         echo  "Invalid username or password!";
    22.     }
    23. }
    24. ...
    на это:
    PHP:
    1. $query = "SELECT 1 FROM usertbl WHERE username='".$username."' AND password='".$password."'";
    2. $result = mysqli_query($connect, $query);
    3. if(mysqli_num_rows($result)>0)
    4. {
    5.     // старое место расположения
    6.     // session_start();
    7.      $_SESSION['session_username']=$username;
    8.     /* Перенаправление браузера */
    9.     header("Location: intropage.php");
    10. }
    11. else
    12. {
    13.     //$message = "Invalid username or password!";
    14.     echo  "Invalid username or password!";
    15. }
    16. ...
    Удачи!