「同じ人が作成した」2つのphpスクリプトがあり、両方とも同じmysqlデータベースを呼び出し、すべてのテーブルを結合しています。現在、ログインに同じテーブルを使用しています。したがって、両方に同じユーザー名とパスワードを使用してログインできますが、メイン サイトにログインしてから他のスクリプト /client に移動すると、. もう一度ログインしてほしい。
何かを含めるか、セッションまたは何かを保持する必要があることを知っています(私はphpが苦手です)。メインサイトにログインして /client にアクセスしてもログインできるようにしたいのですが、何かアイデアはありますか?
更新: どちらにも /lib/class_user.php があり、ここでセッションが開始されると思われます。上部のコードの一部を次に示します。
メインサイトより:
/**
* Users::startSession()
*
* @return
*/
private function startSession()
{
if (strlen(session_id()) < 1)
session_start();
$this->logged_in = $this->loginCheck();
if (!$this->logged_in) {
$this->username = $_SESSION['username'] = "Guest";
$this->sesid = sha1(session_id());
$this->userlevel = 0;
}
}
/**
* Users::loginCheck()
*
* @return
*/
private function loginCheck()
{
if (isset($_SESSION['username']) && $_SESSION['username'] != "Guest") {
$row = $this->getUserInfo($_SESSION['username']);
$this->uid = $row['id'];
$this->username = $row['username'];
$this->email = $row['email'];
$this->name = $row['fname'].' '.$row['lname'];
$this->userlevel = $row['userlevel'];
$this->sesid = sha1(session_id());
$this->membership_id = $row['membership_id'];
$this->access = $row['access'];
return true;
} else {
return false;
}
}
/**
* Users::is_Admin()
*
* @return
*/
public function is_Admin()
{
return($this->userlevel == 9 or $this->userlevel == 8);
}
/client/lib/class_user.php から:
/**
* Users::startSession()
*
* @return
*/
private function startSession()
{
session_start();
$this->logged_in = $this->loginCheck();
if (!$this->logged_in) {
$this->username = $_SESSION['username'] = "Guest";
$this->sesid = sha1(session_id());
$this->userlevel = 0;
}
}
/**
* Users::loginCheck()
*
* @return
*/
private function loginCheck()
{
if (isset($_SESSION['username']) && $_SESSION['username'] != "Guest") {
$row = $this->getUserInfo($_SESSION['username']);
$this->uid = $row->id;
$this->username = $row->username;
$this->email = $row->email;
$this->name = $row->fname . ' ' . $row->lname;
$this->userlevel = $row->userlevel;
$this->sesid = sha1(session_id());
$this->currency = $row->currency;
return true;
} else {
return false;
}
}
/**
* Users::is_Admin()
*
* @return
*/
public function is_Admin()
{
return ($this->userlevel == 9 or $this->userlevel == 5);
}