1

データを _self に投稿する単純なログイン フォームを作成し、ユーザーをログインさせるために資格情報を確認しようとしました。

認証スクリプトは次のようになります。

if ($_POST['username'] && $_POST['password'] )

{
      $db =& JFactory::getDBO();

      $query = 'SELECT `id`'
            . ' FROM #__users'
            . ' WHERE username='.$_POST['username'];
      $db->setQuery( $query );
      $result = $db->loadResult();


        if (!$result) {
            echo 'User does not exist';
        }


        if($result && (USERNAME & PASS MATCH))
        {
           << LOGIN AND REDIRECT TO CERTAIN PAGE >>
        }
        else
        {
            echo 'Invalid username or password';
        }   


}

私の単純な php スクリプトでは、ユーザー名とパスワードが一致したときに SESSION 変数を true に設定していました。これが、ユーザーがログインしていると見なす方法でした。

ここで、私はどのような行動をとればよいでしょうか?ユーザーがログインしたときに設定されるデータベースにフィールドはありますか? つまり、ユーザーをログインさせてから別のページにリダイレクトしたいということです。

助言がありますか?

4

1 に答える 1

1

ユーザーがログインしたら、次のようなことができます。

    if($result && (USERNAME & PASS MATCH))
    {
       $_SESSION['logged_in_user'] = $user;
       header("location: /loggedin.php");
    }

次にloggedin.php、認証チェックを設定します。

session_start(); // If 
if (!isset($_SESSION['logged_in_user'])) {
    // User is not logged in, so send user away.
    header("Location:/login");
    die();
}
// User is logged in; private code goes here.

これは、ユーザー ログイン システムの優れたチュートリアルです: http://en.wikibooks.org/wiki/PHP_Programming/User_login_systems

高度なユーザー認証に入り、ここにあるよりも多くの例を示します。

于 2012-07-21T10:27:15.587 に答える