@TechNOIR

PHP. Как исправить ошибку? «Notice: Undefined variable: mysqli»?

Добрый день. Помогите пожалуйста исправить ошибку Notice: Undefined variable: mysqli

Notice: Undefined variable: mysqli in C:\xampp\htdocs\vik2\auth.php on line 39


Скрипт авторизации:
Login.php
<?php
include("dbconnect.php");
require_once 'auth.php';

// If post, check user
if (!empty($_POST['userlogin']) && !empty($_POST['pass'])) {
    // Verify user and password
    if (isValidUser($_POST['userlogin'], $_POST['pass'])) {
        // Log in
        $_SESSION['userlogin'] = $_POST['userlogin'];
        header('Location: index.php');
        exit();
    }
    else
    {
        $_SESSION['userlogin'] = FALSE;
    }
}

// The user login page
include 'templates/header.php';
?>

<!--login modal-->
<div id="loginModal" class="modal show bs-example-modal-sm" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog modal-sm">
        <div class="modal-content">
            <form class="form" method="POST" action="login.php">
                <div class="modal-header">
                    <h3 class="text-center">User authentication</h3>
                </div>
                <div class="modal-body">
                    <div class="form-group">
                        <input type="text" class="form-control input-sm" placeholder="login" name="userlogin">
                    </div>
                    <div class="form-group">
                        <input type="password" class="form-control input-sm" placeholder="password" name="pass">
                    </div>
                </div>
                <div class="modal-footer">
                    <button class="btn btn-default">Login</button>
                </div>
            </form>
        </div>
    </div>
</div>

<?php
include 'templates/footer.php';

auth.php
<?php
session_start();
include("dbconnect.php");

function authHTML()
{
    // 	if not auhtenticaded session go to login.php
    if (empty($_SESSION['userlogin'])) {
        header('Location: login.php');
        exit();
    }
}

function authAPI()
{
    $user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
    $pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';

    if (!isValidUser($user, $pass)) {
        $_SESSION['userlogin'] = FALSE;
        header('WWW-Authenticate: Basic realm="My Realm"');
        header('HTTP/1.0 401 Unauthorized');
        die("Not authorized");
    }

    $_SESSION['userlogin'] = $user;
}

function isValidUser($user, $pass)
{
	$testrole = $mysqli->query("SELECT * FROM `users` WHERE username = '".$user."' AND password = '".$pass."'");
		if($testrole->num_rows == 1){

        return TRUE;
    }

    return FALSE;
}



и подключение к базе
dbconnect.php

<?php
// Указываем кодировку
header('Content-Type: text/html; charset=utf-8');

$server = "localhost"; /* имя хоста (уточняется у провайдера), если работаем на локальном сервере, то указываем localhost */
$username = "root"; /* Имя пользователя БД */
$password = "*******"; /* Пароль пользователя, если у пользователя нет пароля то, оставляем пустым */
$database = "emr"; /* Имя базы данных, которую создали */

// Подключение к базе данный через MySQLi
$mysqli = new mysqli($server, $username, $password, $database);

// Проверяем, успешность соединения.
if (mysqli_connect_errno()) {
echo "Ошибка подключения к БД. Описание ошибки: ".mysqli_connect_error()."";
exit();
}

// Устанавливаем кодировку подключения
$mysqli->set_charset('utf8');
?>


Спасибо заранее!
  • Вопрос задан
  • 729 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
function isValidUser($user, $pass, $mysqli)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы