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