我的网络应用程序有一个登录表单,其中包含以下字段:机构、用户名、密码。 我希望能够使用数据库连接来登录和验证用户身份,然后关闭该数据库并根据其机构打开不同的数据库。目的是让每个机构都有自己的数据库和自己的表格。
这是我的配置文件:
<?php
session_start();
$connLogin = mysqli_connect('localhost','root','', 'login_users');
$conn = mysqli_connect('localhost', 'root', '', $agency);
//I know you cant post a variable here, but it explains better of what im trying to do.
?>
这是我的登录代码:
<?php
@include 'config.php';
if(!isset($_SESSION))
{
session_start();
}
if(isset($_POST['submit'])){
$agency = mysqli_real_escape_string($connLogin, $_POST['agency']);
$username = mysqli_real_escape_string($connLogin, $_POST['username']);
$password = mysqli_real_escape_string($connLogin, $_POST['password']);
$select = " SELECT * FROM login_users WHERE agency = '$agency' && username = '$username' && password = '$password' ";
$result = mysqli_query($connLogin, $select);
if(mysqli_num_rows($result) > 0){
$row = mysqli_fetch_array($result);
if ($row['active_inactive'] > 0) {
mysqli_close($connLogin);
mysqli_connect($conn);
$_SESSION['user_name'] = $row['username'];
header('location:worker.php');
}
}else{
echo '<script>alert("Invalid Credentials. If you believe this is an error, please contact your system administrator.")</script>';
}
}
?>
这是我的文件,为当前用户及其代理机构设置变量:
<?php
@include 'config.php';
if(!isset($_SESSION['user_name'])){
header('location:login.php');
}
$currentUser = ($_SESSION['user_name']);
//User Information
$select = " SELECT * FROM user_db WHERE username = '$currentUser' ";
$result = mysqli_query($conn, $select);
$row = mysqli_fetch_assoc($result);
$userid = $row['id'];
$firstname = $row['firstname'];
$position = $row['position'];
$lastname = $row['lastname'];
$email = $row['email'];
$agency = $row['agency'];
$department_name = $row['department_name'];
$phone = $row['phone_number'];
$address = $row['address'];
$city = $row['city'];
$state = $row['state'];
$zip = $row['zip'];
$country = $row['country'];
$profile_picture = $row['profile_picture'];
$default_picture = $row['default_pic'];
//Issued Gear
$selectIssuedGear = " SELECT * FROM user_issued_gear WHERE (member_first_name = '$firstname' AND member_last_name = '$lastname') ";
$resultIssuedGear = mysqli_query($conn, $selectIssuedGear);
$rowIssuedGear = mysqli_fetch_assoc($resultIssuedGear);
$gearID = $rowIssuedGear['id'];
$turnoutCoat = $rowIssuedGear['coat_size'];
$turnoutPants = $rowIssuedGear['pants_size'];
$boots = $rowIssuedGear['boots_size'];
$fireGloves = $rowIssuedGear['fire_gloves_size'];
$streamlite = $rowIssuedGear['streamlite'];
$ScbaSize = $rowIssuedGear['scba_mask'];
$safetyVest = $rowIssuedGear['safety_vest_size'];
$extGloves = $rowIssuedGear['ext_gloves_size'];
$pagerSerial = $rowIssuedGear['pager'];
$pagerBaseSerial = $rowIssuedGear['pager_charging_base'];
$winterCoat = $rowIssuedGear['reflective_winter_coat'];
//Apparatus
$selectApparatus = " SELECT * FROM apparatus ";
$resultApparatus = mysqli_query($conn, $selectApparatus);
$rowApparatus = mysqli_fetch_assoc($resultApparatus);
$apparatus1 = $rowApparatus['apparatus_1'];
$apparatus2 = $rowApparatus['apparatus_2'];
$apparatus3 = $rowApparatus['apparatus_3'];
$apparatus4 = $rowApparatus['apparatus_4'];
$apparatus5 = $rowApparatus['apparatus_5'];
$apparatus6 = $rowApparatus['apparatus_6'];
$apparatus7 = $rowApparatus['apparatus_7'];
$apparatus8 = $rowApparatus['apparatus_8'];
$apparatus9 = $rowApparatus['apparatus_9'];
$apparatus10 = $rowApparatus['apparatus_10'];
?>
为什么不直接使用:
mysqli_select_db($connLogin, $agency):
这将允许您使用相同的连接进行登录和后续调用。