十二国記サーチを作る内検索 / 「国マスタ」で検索した結果

検索 :
  • マスタテーブル/国マスタ
    国マスタ(M_COUNTRY)  国情報を格納するマスタテーブル。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ SORT_KEY INTEGER 表示制御用 NAME TEXT ○ 名称 LONG_NAME TEXT ○ 長い名称 CREATE文 CREATE TABLE [M_COUNTRY] ( [ID] INTEGER NOT NULL ,[SORT_KEY] INTEGER ,[NAME] TEXT NOT NULL ,[LONG_NAME] TEXT NOT NULL ,PRIMARY KEY(ID) ); 登録データ一覧 ID SORT_KEY NAME LONG_NAME 1 1 慶 慶東国 2 2 雁 雁州国 3 3 戴 戴極国 4 4 芳 芳極国 5 5 漣 漣極国 6 6 巧 巧州国 7 7 恭...
  • マスタを作る
    ...マスタが要りますね。国マスタとか、キャラマスタとか、そういうの。たとえば一番簡単と思われるマスタはこんな感じ。 ※対象を特化したスクリプトなので、汎用的に全部同じテーブルに突っ込むというのはなし。そっちのほうが簡単にメニュー項目を増減できるけどね。 テーブル名称:国マスタ テーブル名:M_COUNTRY PRIMARY KEY 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ SORT_KEY INTEGER 表示制御用 NAME TEXT ○ 名称 LONG_NAME TEXT ○ 長い名称  DATEとかVARCHARとかも一応指定できるけど、SQLiteのデータ型は実際には限られた数個しかないため、ここで使うのはINTEGERとTEXTにします。SQLiteの場合は桁数を指定しなくても大丈夫だし、何よりレコードは可変長と...
  • マスタテーブル/キャラマスタ
    ...EGER 所属国。国マスタのID  いちおうCOUNTRYカラムを設けてみたけど……いらないかも。サイト情報で取り扱い国を登録する際にいるかなぁと思ったものの、キャラとは関係なく、独立した項目として「取り扱い国」を登録すればいいわけだし。  でもまあ、とりあえず入れておきます。  あと所属国と生国が違う場合もあるわけだけど、そこまでは不要かなぁと。 CREATE文 CREATE TABLE [M_CHARA] ( [ID] INTEGER NOT NULL ,[SORT_KEY] INTEGER ,[NAME] TEXT NOT NULL ,[LONG_NAME] TEXT NOT NULL ,[SEX] INTEGER ,[COUNTRY] INTEGER ,PRIMARY KEY(ID) ); 登録データ一覧 ID NAME LONG_NAME SEX C...
  • データテーブル/国
    ...INTEGER ○ 国マスタのID PRIORITY INTEGER 重要度 CREATE文 CREATE TABLE [D_COUNTRY]( [SITE_ID] INTEGER NOT NULL ,[COUNTRY_ID] INTEGER NOT NULL ,[PRIORITY] INTEGER ,PRIMARY KEY(SITE_ID,COUNTRY_ID) ); 2010/09/06 10 55 37
  • マスタテーブル/媒体マスタ
    媒体マスタ(M_MEDIA)  閲覧媒体(PC/携帯)を格納するマスタテーブル。PC不可の携帯サイトやその逆、PCから携帯サイトを敬遠する向きもあるため作成。  もっとも携帯を考慮してスクリプトを作るつもりはないので(テストがめんどい)、あくまで作っておくだけ。もしくはPCから携帯サイトを登録するとかなら可。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ SORT_KEY INTEGER 表示制御用 NAME TEXT ○ 名称 CREATE文 CREATE TABLE [M_MEDIA] ( [ID] INTEGER NOT NULL ,[SORT_KEY] INTEGER ,[NAME] TEXT NOT NULL ,PRIMARY KEY(ID) ); 登録データ一覧 ID SORT_KEY NAME 0 0 ...
  • マスタテーブル/基調マスタ
    基調マスタ(M_MOOD)  漫画や小説を扱っているサイトの場合に登録可能な、シリアス、ほのぼのといった雰囲気の別を定義するマスタテーブル。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ SORT_KEY INTEGER 表示制御用 NAME TEXT ○ 名称 CREATE文 CREATE TABLE [M_MOOD] ( [ID] INTEGER NOT NULL ,[SORT_KEY] INTEGER ,[NAME] TEXT NOT NULL ,PRIMARY KEY(ID) ); 登録データ一覧 ID SORT_KEY NAME 1 1 シリアス 2 2 ほのぼの 3 3 ラブラブ 4 4 コメディ 5 5 ギャグ 初期設定用INSERT文 INSERT INTO M_MOOD(ID,SORT_KEY,N...
  • マスタテーブル/運営状態マスタ
    運営状態マスタ(M_MANAGE_STATUS)  運営状態を定義するマスタテーブル。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ NAME TEXT ○ 名称 LONG_NAME TEXT ○ 長い名称 CREATE文 CREATE TABLE [M_MANAGE_STATUS] ( [ID] INTEGER NOT NULL ,[NAME] TEXT NOT NULL ,[LONG_NAME] TEXT NOT NULL ,PRIMARY KEY(ID) ); 登録データ一覧 ID NAME LONG_NAME 0 通常 通常 7 休止 一時更新停止 8 停止 無期限更新停止 9 閉鎖 閉鎖 初期設定用INSERT文 INSERT INTO M_MANAGE_STATUS(ID,NAME,LONG_NAME) ...
  • マスタテーブル/閲覧状態マスタ
    閲覧状態マスタ(M_BROWSE_STATUS)  閲覧状態を定義するマスタテーブル。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ NAME TEXT ○ 名称 LONG_NAME TEXT ○ 長い名称 CREATE文 CREATE TABLE [M_BROWSE_STATUS] ( [ID] INTEGER NOT NULL ,[NAME] TEXT NOT NULL ,[LONG_NAME] TEXT NOT NULL ,PRIMARY KEY(ID) ); 登録データ一覧 ID NAME LONG_NAME 0 閲覧可 全コンテンツ閲覧可 7 一部閲覧不可 一部コンテンツ閲覧不可 8 一部閲覧可 一部コンテンツ閲覧可 9 閲覧不可 全コンテンツ閲覧不可 初期設定用INSERT文 INSERT INTO M_...
  • マスタテーブル/制限範囲マスタ
    制限範囲マスタ(M_RESTRICTION)  閲覧制限の範囲を定義するマスタテーブル。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ NAME TEXT ○ 名称 LONG_NAME TEXT ○ 長い名称 CREATE文 CREATE TABLE [M_RESTRICTION] ( [ID] INTEGER NOT NULL ,[NAME] TEXT NOT NULL ,[LONG_NAME] TEXT NOT NULL ,PRIMARY KEY(ID) ); 登録データ一覧 ID NAME LONG_NAME 0 年齢制限なし 年齢制限なし 1 一部?歳以上 一部?歳以上向け 8 ?歳以上向け ?歳以上向け主体 9 ?歳未満不可 ?歳未満閲覧不可  ?の部分は、表示時に年齢を埋め込む。 初期設定用INS...
  • マスタテーブル/サイト形態マスタ
    サイト形態マスタ(M_SITE_TYPE)  HTML(既定値)、ブログ、Wikiといった形態を定義するマスタテーブル。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ SORT_KEY INTEGER 表示制御用 NAME TEXT ○ 名称 CREATE文 CREATE TABLE [M_SITE_TYPE] ( [ID] INTEGER NOT NULL ,[SORT_KEY] INTEGER ,[NAME] TEXT NOT NULL ,PRIMARY KEY(ID) ); 登録データ一覧 ID SORT_KEY NAME 0 0 HTML 1 1 ブログ 2 2 Wiki 初期設定用INSERT文 INSERT INTO M_SITE_TYPE(ID,SORT_KEY,NAME) VALUES(0,0, H...
  • マスタテーブル/作品規模マスタ
    作品規模マスタ(M_SCALE)  漫画や小説を扱っているサイトの場合に登録可能な、長編/短編の別を定義するマスタテーブル。  もっともウェブだと、市販の書籍のような一般的な基準ではなく作者の感性で「長編」「短編」と銘打っているため、説明文にサーチ内での共通認識としての定義も格納しておく。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ SORT_KEY INTEGER 表示制御用 NAME TEXT ○ 名称 DESC TEXT 説明文 CREATE文 CREATE TABLE [M_SCALE] ( [ID] INTEGER NOT NULL ,[SORT_KEY] INTEGER ,[NAME] TEXT NOT NULL ,[DESC] TEXT ,PRIMARY KEY(ID) ); 登録データ一覧  D...
  • マスタテーブル
    マスタテーブル  各種定義値を格納するテーブル群。 媒体 サイト形態 カテゴリ 作品規模 基調 国 キャラ カップリング傾向 注意情報 運営状態 閲覧状態 制限範囲 2010/09/04 23 33 43
  • マスタテーブル/カップリング傾向マスタ
    カップリング傾向マスタ(M_CP_TYPE)  CPなし、男女CP、男男CP、女女CPという、カップリングの性別傾向を定義するマスタ。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID1 INTEGER ○ ● ID2 INTEGER ○ SORT_KEY INTEGER 表示制御用 NAME TEXT ○ 名称  プライマリキーはキャラマスタの性別定義と同じ値を使い、ID1が攻めキャラの性別、ID2が受けキャラの性別。  ただしCPなしだけは性別コードがないため、便宜的に両方「2」を登録するものとする。 CREATE文 CREATE TABLE [M_CP_TYPE] ( [ID1] INTEGER NOT NULL ,[ID2] INTEGER NOT NULL ,[SORT_KEY] INTEGER ,[NAME] TEXT NO...
  • マスタテーブル/注意情報マスタ
    注意情報マスタ(M_CAUTION)  閲覧上の注意事項を定義するマスタ。JavaScriptがONになっていないと作品が見られないなどの純粋に環境的な要素と、作品の内容に関する注意事項(グロとかパラレル等、閲覧者を選ぶ内容)の両方を定義する。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ KIND INTEGER ○ 0 環境関連、1 作品内容関連 SORT_KEY INTEGER 表示制御用 NAME TEXT ○ 名称 LONG_NAME TEXT ○ 長い名称 DESC TEXT ○ 説明文 CREATE文 CREATE TABLE [M_CAUTION] ( [ID] INTEGER NOT NULL ,[KIND] INTEGER NOT NULL ,[SORT_KEY] INTEGER ,[NAME] T...
  • マスタテーブル/カテゴリマスタ
    カテゴリマスタ(M_CATE)  カテゴリを格納するマスタテーブル。  少なくとも絵系や文系等でグループ化は必要なため、プライマリキーは2個。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID1 INTEGER ○ カテゴリグループ ● ID2 INTEGER ○ カテゴリ SORT_KEY INTEGER 表示制御用 NAME TEXT ○ 名称 LONG_NAME TEXT ○ 長い名称 DESC TEXT 説明文 CREATE文 CREATE TABLE [M_CATE] ( [ID1] INTEGER NOT NULL ,[ID2] INTEGER NOT NULL ,[SORT_KEY] INTEGER ,[NAME] TEXT NOT NULL ,[LONG_NAME] TEXT NOT NULL ,[DESC] TEXT ,PR...
  • メニュー
    メニュー 試行錯誤の履歴マスタを作る データテーブルを作る ビューを作る テストデータを作る デザイン試行錯誤 検索画面できた 検索機能まとめ DB初期化 ログイン画面 テンプレートエンジン ドキュメント検索ヘルプ データベースマスタテーブル データテーブル ビュー メモ構想 SQLite PHP コメント 更新履歴 取得中です。
  • データテーブル/カテゴリ
    カテゴリ(D_CATE) テーブル定義 PK 名称 データ型 NOT NULL 内容 ● SITE_ID INTEGER ○ サイト情報のID ● CATE_ID1 INTEGER ○ カテゴリマスタのID1 ● CATE_ID2 INTEGER ○ カテゴリマスタのID2 PRIORITY INTEGER 重要度(数が小さいほど高い) CREATE文 CREATE TABLE [D_CATE]( [SITE_ID] INTEGER NOT NULL ,[CATE_ID1] INTEGER NOT NULL ,[CATE_ID2] INTEGER NOT NULL ,[PRIORITY] INTEGER ,PRIMARY KEY(SITE_ID,CATE_ID1,CATE_ID2) ); 2010/09/06 10 53 48
  • データテーブル/カップリング
    カップリング(D_CP) テーブル定義 PK 名称 データ型 NOT NULL 内容 ● SITE_ID INTEGER ○ サイト情報のID ● CHARA_ID1 INTEGER ○ キャラマスタのID(攻め) ● CHARA_ID1 INTEGER ○ キャラマスタのID(受け) REVERSE INTEGER ○ 0 リバなし、1 リバあり PRIORITY INTEGER 重要度  REVERSEカラムは同性同士のカップリングの場合を想定。男女CPの場合は実際に逆転した性行為を行なってかぎり、攻め=男、受け=女とします。 CREATE文 CREATE TABLE [D_CP]( [SITE_ID] INTEGER NOT NULL ,[CHARA_ID1] INTEGER NOT NULL ,[CHARA_ID2] INTEGER NOT NULL ,[RE...
  • データテーブル/サイト情報
    サイト情報(D_SITE)  サイトの基本情報を格納するテーブル。カテゴリや取り扱いキャラなど、要素が可変の場合は別テーブルで扱い、それらはサイト情報テーブルのIDで紐づける。  他の単純なテーブルと違ってカラムが多いし、基本項目以外はまだどうしようか迷っているので暫定。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● ID INTEGER ○ オートナンバー URL TEXT ○ サイトURL(UNIQUE制約) NAME TEXT ○ サイト名 NAME_KANA TEXT サイト名(ふりがな) USER_ID TEXT ○ ユーザ情報のID HANDLE TEXT ○ 登録者名。デフォルトはユーザ情報から HANDLE_KANA TEXT 登録者名(ふりがな)。デフォルトはユーザ情報から SERVER_TYPE INTEGER ○ レ...
  • データテーブル/カップリング傾向
    カップリング傾向(D_CP_TYPE)  最初はカップリングテーブルでビューを作ればいいと思ったけど、カップリングなしをどうするかとか、一覧にない原作キャラカップルを取り扱っている場合等々を考え、やはりこれ単体でテーブルを作ることに。  サイトの新規登録時の既定値は、カップリングの情報を元に自動設定すれば、大抵の場合はそのままユーザが修正せずとも登録できるから面倒はないかと。 テーブル定義 PK 名称 データ型 NOT NULL 内容 ● SITE_ID INTEGER ○ サイト情報のID SEX1 INTEGER ○ キャラマスタの性別ID(攻め) SEX2 INTEGER ○ キャラマスタの性別ID(受け) PRIORITY INTEGER 重要度 CREATE文 CREATE TABLE [D_CP_TYPE]( [SITE_ID] INTEGER NOT ...
  • DB初期化
    DB初期化  ユーザ機能を作ろうと思ったけど、いろいろ考えてサーチ管理者の機能を先に作ることに。  まずはDBの初期設定。最初はSQLiteファイルを手動で設定すればいいなんて考えていたけど、最低限の初期設定は自動化しようかと。  もっともフォームを使って登録とかじゃなく、作成済みのSQLを順に流すだけ。初期設定を変えたい場合は、直接SQLを変更してもらう感じ。  処理内容の概略は以下の通り。 設置者:サーバにスクリプトを置く 設置者:初期化用ページにアクセスする スクリプト:DBにマスタデータがなければ生成する。完全にマスタがないわけではなく、一部欠損しているなどの不整合状態ならアボートさせる(現状のデータファイルを削除なりリネームして退避なりした後で再アクセスするよう促す) スクリプト:DBに管理者パスワードが設定されていなければ(初期状態)、パスワードを含めて管理者...
  • データテーブル/作品規模
    作品規模(D_SCALE) テーブル定義 PK 名称 データ型 NOT NULL 内容 ● SITE_ID INTEGER ○ サイト情報のID ● SCALE_ID INTEGER ○ 作品規模マスタのID PRIORITY INTEGER 重要度 CREATE文 CREATE TABLE [D_SCALE]( [SITE_ID] INTEGER NOT NULL ,[SCALE_ID] INTEGER NOT NULL ,[PRIORITY] INTEGER ,PRIMARY KEY(SITE_ID,SCALE_ID) ); 2010/09/06 10 56 09
  • データテーブル/基調
    基調(D_MOOD) テーブル定義 PK 名称 データ型 NOT NULL 内容 ● SITE_ID INTEGER ○ サイト情報のID ● MOOD_ID INTEGER ○ 基調マスタのID PRIORITY INTEGER 重要度 CREATE文 CREATE TABLE [D_MOOD]( [SITE_ID] INTEGER NOT NULL ,[MOOD_ID] INTEGER NOT NULL ,[PRIORITY] INTEGER ,PRIMARY KEY(SITE_ID,MOOD_ID) ); 2010/09/06 10 55 54
  • データテーブル/キャラ
    キャラ(D_CHARA) テーブル定義 PK 名称 データ型 NOT NULL 内容 ● SITE_ID INTEGER ○ サイト情報のID ● CHARA_ID INTEGER ○ キャラマスタのID PRIORITY INTEGER 重要度 CREATE文 CREATE TABLE [D_CHARA]( [SITE_ID] INTEGER NOT NULL ,[CHARA_ID] INTEGER NOT NULL ,[PRIORITY] INTEGER ,PRIMARY KEY(SITE_ID,CHARA_ID) ); 2010/09/06 10 55 19
  • データテーブル/注意情報
    注意情報(D_CAUTION) テーブル定義 PK 名称 データ型 NOT NULL 内容 ● SITE_ID INTEGER ○ サイト情報のID ● CAUTION_ID INTEGER ○ 注意情報マスタのID PRIORITY INTEGER 重要度 CREATE文 CREATE TABLE [D_CAUTION]( [SITE_ID] INTEGER NOT NULL ,[CAUTION_ID] INTEGER NOT NULL ,[PRIORITY] INTEGER ,PRIMARY KEY(SITE_ID,CAUTION_ID) ); 2010/09/06 10 54 45
  • テストデータを作る
    テストデータを作る  検索まわりのテーブルは作ったので、とりあえずテストデータを入れてみることに。  最初はテストのバリエーションも兼ねて自分で作っていたけど、なんかパターンの作成が面倒になったのと、実データに近いほうが得るものがあるだろう(あれは考慮してなかった、こういうケースもあるのか等々、いろいろ出てくる)と思ったのとで、実際のサーチで登録されているデータ70件ほどを参考にしました。  でも、テーブルが多いだけにさすがに大変。特に項目の多いサイト情報テーブル。  なので最終的にはOpenOfficeのCalcで入力、INSERT文を記載したSQLファイルをマクロで自動生成しました。おかげで初めて実用的なOOoのマクロを作っちゃった(Excelにしなかったのは、Excelが入っていないマシンでも作業するため)。  ただOOoのマクロは、文字コードを考慮したファイル出力...
  • トップページ
    最終更新:0000-00-00 00 00 00  CGIのネタとして、趣味に走ってサーチを作ってみます。内容は十二国記の同人サイトに特化した登録型サーチ用スクリプト。  要は勉強のネタなので実用的かどうかは不問。使い物になるかどうかも不明。まかり間違って実用になるようなら公開するけど、そうじゃなければスクリプト自体は非公開。  ちなみにコンセプトは、管理者が手抜きで運営できるサーチ(笑)。  とりあえず検索結果のイメージはこんな感じ。上が検索結果用。下が詳細情報。  まあ、このWikiを作ったとき、既にサイト情報まわりのテーブルはすべて作成して適当にサイトデータを作って登録、登録サイトがある項目のみでメニュー表示(↓)&そのメニュー項目リンククリックによる単一条件のみの検索結果表示、まではプログラムを作ってみたんですけどね。  で、そうしたらちょっ...
  • ビューを作る
    ビューを作る  最初は通常のテーブルだけで作るつもりだったけど、SQLを書くとき……というより、プログラムにSQLを埋め込むときに面倒になりました。サイト情報から可変の項目を外に出したため、どうしたってクエリは多くなるし、当然ながらプログラムソースも長くなるから。多少のパフォーマンスの劣化は、本当に必要なマスタだけ検索対象とするよう細やかに設定すれば何とかなったけど。  で、プロトタイプを作っていて、サイトごとのカップリングテーブルから組み合わせの集計結果を得るときついにブチ切れ。  データテーブルでは、サイトごとに攻めキャラと受けキャラの組み合わせで登録するため、そこからたとえば「景麒×陽子(10)」(括弧内は登録サイト数)という結果文字列を引っ張ってくるには、キャラマスタとサイト情報テーブル、カップリングテーブルだけではどうしてもSQLが冗長になりますから。というかSQL...
  • データテーブルを作る
    データテーブルを作る  サイトに付随する登録データのうち、要素が可変のものは別テーブルに。そうすればサイト情報自体には入れなくていいから「カテゴリ用カラムをいくつ入れよう?」などと悩む必要もなくなります。  重要度(PRIORITY)を指定できるようにしておけば、サイトごとにそれでソート可能だし、登録数が多いようなら上限を設けて、一覧には一定数しか出さないようにすればいい(詳細情報ページには全部出す)。  したがって各種登録データを格納するテーブル群は、ユーザ情報とサイト情報以外はほとんど各マスタの値を保存するだけとなり、かなり小さなテーブルに。  たとえばこんなサイト情報(D_SITE)と基調(D_MOOD)が登録されていたとして、 ID NAME MEDIA 1 ほげほげ 0 2 ほにゃらら 1 3 ふにふに 0 SITE_ID MOOD_ID 1 1 1 ...
  • メモ/PHP/生成したHTMLコードにスタイルが適用されない
    生成したHTMLコードにスタイルが適用されない  PHPでHTMLのタグを生成すると、うまくスタイルが適用されないことがある感じ。生成後のHTMLをファイルに保存して表示した場合はちゃんとスタイルが適用されてるし、ブラウザの問題かと思ったけど、Firefox3.5もIE8.0も同じだったので、何かあるんだろうなー。  なので↓のように書くよりは、 ?php if (...) { echo " p class= msg ... /p "; } else { echo " p class= err ... /p "; } ?  ↓のように書いたほうが安全。どっちが見やすいかは微妙だけど。 ?php if (...) ? p class= msg ... /p ?php else ? ...
  • メモ/PHP
    PHPメモ 配列からnullの要素を削除する sprintfに配列を渡す リクエストパラメータを配列で受け取る トラブルシューティング 拡張モジュールの読み込みエラーでApacheを起動できない FirefoxでローカルのPHPを開けない 生成したHTMLコードにスタイルが適用されない trim関数で文字化け die、exitで日本語が化ける 2010/10/10 14 29 35更新
  • デザイン試行錯誤
    デザイン試行錯誤  当初のフレームじゃない検索画面のイメージはこんな感じ。  でもねー、検索メニュー項目のリンククリックによる実行だとGETだから、再表示時に入力状態を復元できないんだよね。もちろんJavaScriptを使えば可能だけど、それは避けたい。  で、スタイルをリンクっぽくしたSUBMITボタンで代用できないかと試してみたものの。  borderなし、text-alignはleft、vertical-alignはmiddle、paddingは0px、background-colorはtransparent等々と指定したら、IE8.0だと何とかそれっぽくはなりました。もちろん訪問済みリンクの色を変えるなんて芸当は不可能だけど。  下図は、上の「PC向け」のみSUBMITボタン、その他、つまり「HTML」と下の「PC向け」がリンクです。 ...
  • テンプレートエンジン
    テンプレートエンジン  何とかPHPに慣れてきたため、最初は全部自前で書くつもりだったのを、この際やはりテンプレートエンジンを使おうと考え直しました。  ただ、何せ勉強でやり始めたとあって、そもそも表示ページ用PHPファイルと、インクルードするPHPファイルを同じ場所(ドキュメントルート下)に置いてしまったんですよね。でもこれでテンプレートエンジン(Smartyを使用)用に書き直すともっとごちゃごちゃしてくるし、そもそもセキュリティ的にまずいし――ただでさえセキュリティホールを作りこみやすいPHPなので、インクルードするものはドキュメントルートより上に置くようにしました。ちょっと修正が面倒だったけど。  しかしPHPって、どっか一ヶ所に基準パスを指定しておいて、それを使うようにはできないんですかね。一応汎用で使うPHPファイルに定数としてパスを定義してみたけど、その個々のファイ...
  • メモ/構想
    構想メモ サイト検索 要リファラ(他サイトからの不正な呼び出しを弾くため。空のリファラは許容) 当サーチ独自の年齢制限基準を明示し、ラベリングとしての年齢制限を推奨する サイト登録がある条件要素のみ条件ページに出力。CPなど数が多い場合は、表示上限数を決めておく エラーサイトはエラーサイトページにのみ掲載され、検索には引っかからなくなる。サイト名に登録サイトへのリンクも張らない。 新着・更新サイト、エラーサイト、一年以上更新されないサイト等々でスタイルシートを分け、表示色を変える。 ユーザ管理 サイト登録、違反指摘等にはユーザ登録が必要。 セッションによる認証を用い、保存はCookieを利用。Cookieを利用できないクライアントは考慮しない。 1ユーザで複数サイトを登録できるようにし、複数アカウントの取得は禁止。なおログインIDはユーザにわかりやすいようメールアドレスとするが、内部的...
  • 検索機能まとめ
    検索機能まとめ  エラーサイトがらみを除いて検索機能ができたっぽいので、ここで機能のまとめ(サイトのエラーについては、定義もそうだけど、どのタイミングでステータスを設定するかを厳密には決めていないので保留。いちおう検索結果用スタイルシートは作ってあるし、当該サイトへのリンクは張らない、ということにするつもりだけど)。  ちなみにやっとテストデータを架空のものに差し替えたのでモザイクはなし。実在のサイトと登録内容が似ていたとしても偶然です。そもそも取り扱いジャンルが同じなら表現も似通うしね。 検索機能レイアウト  左フレームに検索条件、右フレームに検索結果等を表示。  検索結果を表示する右フレームのレイアウトは、上部にダイレクト検索メニューを表示、クリックしただけで新着・更新サイト等を表示できる。 検索条件(左フレーム)  検索条件項目は、サイト形態~カップリ...
  • @wiki全体から「国マスタ」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索