2019/06/18 10:12 JST

Geeklog Japan Forums

ログイン画面を新たに作成した場合の動作に付いて


状態: オフライン

suzuyan_geeklog

Forum User
Active Member
登録日: 10/07/08
投稿数: 96
場所:大阪北摂
angry
いつもお世話になっております。 ログイン画面を新たに作成した場合の動作について、動作がどうしても分かりませんので、なにかアドバイスがいただけると助かります。 通常は「http://www.123456.com/users.php」の画面からログインしているのですが、あるユーザーのみ、別デザインの画面からアクセスさせたいと考えています。 そこで「users.php」を複製し、「users_two.php」というファイルを作成しました。 そしてそのソース中でログイン画面のデザインが入っているフォルダのアクセス先を変更し、オリジナルのthtmlを使用するようにしました。 ここまでは問題なかったのですが、「http://www.123456.com/users_two.php」でログインを行うと、認証後のリダイレクトで「users_two.php」に戻ってしまいます。 アクセスは正常にできているらしく、そのユーザー用のページは表示できます(ログインできないと表示できない) どうやら「users.php」を複製してファイル名を変え、そのファイルにアクセスするだけでこの現象が出てしまうようなのです。 「users.php」からのリダイレクトはどのような動作をしているのでしょうか。 またこのような現象がおこった方はおられるでしょうか。 よろしくお願いいたします。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5907
場所:Tokyo
静的ページPHPで対応する方法があります。 本体を極力ハックしないで,Geeklogで提供している機能を利用するようにしていただくと,今後のメンテナンスも楽ですし,将来のバージョンアップでも困りませんのでどうぞ。
PHP Formatted Code
global $_USER, $_CONF;

if (!empty ($_USER['uid']) && ($_USER['uid'] > 1)) {
  //echo "ログインしたらTOPに戻る";
  echo COM_refresh ($_CONF['site_url'] . '/index.php');
}else{
  //静的ページuserloginpageを表示する
  CUSTOM_getStaticpage('userloginpage');
}
静的ページuserloginpageに,フォームのhtmlを記述。 ログイン後はindex,phpに戻ります。 Wikiに追加しておきました。 ログインページをカスタマイズする

状態: オフライン

suzuyan_geeklog

Forum User
Active Member
登録日: 10/07/08
投稿数: 96
場所:大阪北摂
awake
いつも御回答ありがとうございます。>Ivy様 質問させていただきました内容の流れとは若干違うのですが、確かに現行の方法ですとハックになっていますので、御教授いただいた方法を下記のページの説明と合わせて実現させました。 わかりやすいログインページを作成する http://wiki.geeklog.jp/index.php/%E3%82%8F%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%84%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B 上記のやり方で、静的ページ(PHP動作バージョン)を作成し、判断文の部分に下記ソースを使用しました。
PHP Formatted Code
if (!empty ($_USER['uid']) && ($_USER['uid'] > 1)) {
  // "ログインしたらユーザーページのTOPに";
  CUSTOM_getStaticpage('ユーザーページの静的ページ名');
}else{
  //静的ページuserloginpageを表示する
 HTMLのソース。つまり”わかりやすいログインページ”のコードを記述
}
 
ちなみに今回の、ファイル名を変更するとリダイレクトできない現象は、以下の関数で返される値が「$status == USER_ACCOUNT_ACTIVE」にならない事が原因でした。 $status = SEC_authenticate($loginname, $passwd, $uid); ファイル名を変えただけでこの現象が出るのがなぜかはいまだにナゾです。 御教授ありがとうございました。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5907
場所:Tokyo
Geeklogのバージョンを教えていただけませんか。

状態: オフライン

suzuyan_geeklog

Forum User
Active Member
登録日: 10/07/08
投稿数: 96
場所:大阪北摂
embarrassed
大分前の記事なのですが、ご質問があったのを見逃していたようです。 失礼しました。 この記事で対象となるGeeklogのバージョンは、1.5.1の拡張版となります。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5907
場所:Tokyo
suzuyan_geeklogさん, 1.5.2でも同様ですね。 ファイル名を変えるとだめでした。 やはりご紹介したような静的ページPHPを利用する方法しか 思いつきません。ページ遷移にすこし時間がかかるのですが。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5907
場所:Tokyo
https://www.geeklog.jp/users.php Geeklog 2.1.0から、これがログインのURLとして正式に使えるようになります。 http://www.ossj.jp/users.php こんなふうに。 デザインはテンプレートを変更してカスタマイズしてください。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5907
場所:Tokyo
標準機能で、次のような機能もあります。 TOPページ全体に表示する のモードで静的ページを作成。パーミッション3 2 2 0 で作成。ログインフォームを表示する のモードに。 これで、ログインしていなければフォームが全体に表示され、ログインしたらTOPページが表示されることになります。 TOPページ全体に表示する のモード とは、以下3つで設定します。 1. TOPに表示する(HOMEのみ) 2. entire 全体に表示する 3. レイアウト:(ページ全体・ブロックなし・・・・ )

時刻はすべて JST , 現在の時刻は 10:12 AM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  ゲストユーザ投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック