わかりやすいログインページを作成する
提供: 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>