Я хотел бы использовать переменную $ conn (которая объявлена в dbconfig.php внутри своего конструктора классов), чтобы заставить метод mysqli_query работать (который используется в login.php внутри своего класса Login).
По какой-то причине я продолжаю получать ошибки, такие как «Неопределенная переменная: conn».
Любая помощь приветствуется, приветствия.
//login_crud.php
<?php
include_once('../classes/login.php');
$crud = new Login();
if(isset($_POST['login'])){
$username = $_POST['username'];
$password = $_POST['password'];
$crud->login($username);
}
?>
//login.php
<?php
include_once('../crud/login_crud.php');
include_once('../classes/dbconfig.php');
class Login
{
public function __construct()
{
$db = new dbCon();
}
function login($username)
{
$query = mysqli_query($conn, "SELECT * FROM users WHERE username='$username'");
$check = mysqli_num_rows($query);
if($check == 1){
header("Location: ../home.php");
}
else{
echo "Incorrect username or password";
}
}
}
?>
//dbconfig.php
<?php
define('DB_SERVER','localhost');
define('DB_USER','root');
define('DB_PASSWORD','');
define('DB_NAME','tpw_db');
class dbCon
{
function __construct()
{
$conn = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or die("Connection to database failed");
}
}
?>
Просто объявите переменную $ conn переменной как общедоступную переменную в классе dbCon. –