わかりやすいログインページを作成する

提供: GeeklogJpWiki

ログインページは,ブロックでログインさせて,エラーになったときに,users.php に遷移します。

ブロックにログインフォームを置かず,別のURLでログインさせたい場合は多いはずです。

そのようなときに,最初からusers.php を表示させてしまうと,単に「ログインしてください」という単純無味乾燥なページになってしまいます。

それを回避するためには,静的ページPHPでログインページをブロックで囲まないモード,さらにPHPを実行するモード作成してしまうことです。

global $_USER;

if (!empty ($_USER['uid']) && ($_USER['uid'] > 1)) {
  echo '<h2>ただ今ログイン処理中です</h2><p>ページが自動的に表示されない場合は<a href="/index.php">こちら</a>をクリックしてください。</p>';
  echo COM_refresh ('/index.php');
}else{
  echo CUSTOM_getStaticpage('_loginform');
}

静的ページ_loginformには,次のようにログインフォームを記述します。

<div class="usersform">
  <form action="{site_url}/users.php" method="post" id="userloginform" class="compact">
    <fieldset>
       <legend>ログイン</legend>
      <ul>
        <li><label for="loginform-loginname">ニックネーム:</label></label><input type="text" class="text" id="loginform-loginname" name="loginname" size="16" /></li> 
        <li><label for="loginform-passwd">パスワード:</label><input type="password" class="text" id="loginform-passwd" name="passwd" size="16" /></li>
        <li class="submit"><input type="submit" class="submit" value="ログイン" /></li>
    </ul>
    <ul class="navi">
        <li>まだ登録されていない方は<a href="/users.php?mode=new">こちら</a></li>
        <li><a rel="nofollow" href="/users.php?mode=getpassword">パスワードを忘れた方</a></li>
    </ul>
    </fieldset>
</form>
</div>
個人用ツール