首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter登录单页面

问Codeigniter登录单页面
EN

Stack Overflow用户
提问于 2014-10-20 23:24:50
回答 1查看 84关注 0票数 0

我有CI脚本,目前每个用户都有自己的mysql数据库自己的子域。

现在,我希望有一个单一的登录页,将检查数据库的登录详细信息,并连接到该特定的数据库,用户应该运行。

所有CI脚本都相同,但数据库数据不同。

我正在考虑创建一个新的数据库表,在那里我将链接哪个用户在哪个数据库中。

有谁知道如何创建它吗?

EN

回答 1

Stack Overflow用户

发布于 2014-10-21 05:53:14

只需创建一个包含一个表的数据库,让我们将其称为databasetable,并用user/db数据的凭据填充它。然后,只需在您的db_connection.php页面中选择正确的详细信息:

代码语言:javascript
复制
<?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;

?>

出于安全原因,所有凭据都应加密。并且在没有加密的情况下不被存储在数据库中。您需要指定加密。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26469258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档