0
我有,目前每個用戶都擁有自己的子域名與自己的MySQL數據庫CI腳本。笨登錄單頁
現在我想要一個單一的登錄頁面,將檢查數據庫對登錄詳細信息,並連接到該用戶應該運行的特定數據庫。
所有CI腳本是相同的,但在數據庫中的數據是不同的。
我想創建一個新的數據庫表,其中我將鏈接哪個用戶在哪個數據庫中的。
任何人有如何創建這樣的一個想法?
我有,目前每個用戶都擁有自己的子域名與自己的MySQL數據庫CI腳本。笨登錄單頁
現在我想要一個單一的登錄頁面,將檢查數據庫對登錄詳細信息,並連接到該用戶應該運行的特定數據庫。
所有CI腳本是相同的,但在數據庫中的數據是不同的。
我想創建一個新的數據庫表,其中我將鏈接哪個用戶在哪個數據庫中的。
任何人有如何創建這樣的一個想法?
只需創建一個帶有一個表的數據庫,我們稱之爲databasetable,然後用user/db數據的憑證填充它。然後,只需在您的db_connection.php正確的細節 - 頁:
<?php
session_start();
$connectlogin = new mysqli ("HOST","USER_FOR_CREDENTIAL_DB","PASS_FOR_CREDENTIAL_DB","DB_CREDENTIAL_DB") or die ("nope");
if (isset($_POST['username'])) {
$username = mysqli_real_escape_string($_POST['username']; //or whatever you POST from your login
}
else
{
$username = $_SESSION['username'];
}
$sqla = "SELECT user_db, user_db_pass, user_db_user, user_name FROM databasetable WHERE user_name LIKE '$username'";
if ($result = $connectlogin -> query($sqla)) {
while ($row = $result->fetch_assoc()) {
$user_db = $row['user_db'];
$user_db_pass = $row['user_db_pass'];
$user_db_user = $row['user_db_user'];
}
/* free result set */
$result->free();
}
$connectlogin ->close();
$sql = new mysqli ("HOST",$user_db_user, $user_db_pass,$user_db);
$sql -> set_charset ('utf8');
if ($sql->connect_errno)
{echo "NOPE 2nd";}
$_SESSION['username'] = $username;
?>
出於安全原因,所有的證書應該被加密。而不是在沒有加密的情況下存儲在數據庫中。您需要指定加密。
您可以爲每個用戶創建一個表格。 – worldask 2014-10-20 15:32:45
你能解釋一下嗎 – onebeat 2014-10-20 15:51:21
你能否提供一些例子 – worldask 2014-10-20 16:01:01