oracle|ページネーション|データ|データベース|表示
ほとんどの Web サイトでは、ユーザーとのインタラクティブな関係が考慮されています。現時点では、メッセージ ボード機能を使用して、ユーザーが訪問に関するメッセージや Web サイトとの対話型メッセージを残すことができます。
デザインの面では、ユーザーからの短いメッセージを残すだけの非常にシンプルなものもあれば、性質に応じて分類された非常に複雑な Web BBS システムにデザインすることもできます。もちろん、自分の Web サイトに掲示板を作成する方法は、Web サイトの性質と Web 開発者の創意工夫によって異なります。
ここで紹介した例は、すべてのメッセージの内容を単純にリストしたものです。ユーザーは複数のメッセージの情報を一度に表示できます。システムのバックエンドは、Oracle バージョン 7.x データベース システムを使用してメッセージを保存します。この例のデータベース名は WWW、接続されたユーザー アカウントは user38、パスワードは iam3849 です。この例を直接使用するには、まず次の SQL コマンドを実行してゲストブック データ テーブルを作成する必要があります。
CREATE TABLE ゲストブック (
serial varchar2(255) null ではありません、
ref varchar2(255) null、
id char(8) not null、
alias varchar2(32) not null、
ip varchar2(1024) null、
msgdate date not null、
email varchar2(1024) null、
msg varchar2(2000) not null、
flag char(1) default 1、
primary key(serial)
);
上記の SQL フィールドを参照してください。説明と詳細については、以下の表を参照してください
シリアル番号フィールド名 データ形式 データ長 フィールドの説明 制限キー
0 シリアル番号 Serial varchar2 255 NN PK
1 シリアル番号を参照 ref varchar2 255 一時的に予約されています。メッセージ返信用
2 アカウント ID char 8 ユーザーアカウント NN
3 匿名エイリアス varchar2 32 表示名 NN
4 ウェブサイト ip varchar2 1024 インターネット IP
5 時刻 msgdate date NN
6 電子メール email varchar2 1024
7 メッセージコンテンツ msg varchar2 2000 NN
8 表示フラグ flag char 1 0: 表示しない
1: 表示する(デフォルト)
本節の掲示板関連プログラムでは、ユーザー認証機能を追加すると、ゲストブックで利用できるようになります ユーザーの認証アカウントウェブマスターが今後不適切な送信者を見つけやすくするために、データ テーブルのアカウント列に残されます。練習が必要な読者のためにここにスペースを残しておきます。
このセクションのプログラムを使用するには、まず Oracle バージョン 7.x をインストールし、Web サーバー上の SQL*net が Oracle データベースに正常に接続できることを確認する必要があります。後で、PHP をコンパイルするときに
--with-oracle=/home/oracle/product/7.3.2 オプションを追加する必要があります。もちろん、別のパスに変更しても問題ありません。 path は実際には Oracle のパスです。 Oracle のインストールと使用方法の詳細については、関連する書籍を参照してください。
次のプログラムは、ユーザーのメッセージ情報をゲストブックのメッセージ データ テーブルに追加します。ユーザー認証機能を設定したい場合は、プログラムの開始時にチェックを入れることでメッセージを送信した本人であることを確認することができ、メッセージを読む際に本人確認を行う必要はありません。この設定により、不適切なコメントを防止できますが、メッセージ機能の利用が一部の人に限定されるわけではありません。
file://--------------------------
// メッセージプログラム追加 addmsg.php
//著者: Wilson Peng
// Copyright (C) 2000
file://--------------------------
//
// あなたここに本人確認機能を追加できます
//
if (($alias!="") and ($msg!="")) {
putenv("ORACLE_SID=WWW");
putenv("NLS_LANG =american_taiwan. zht16big5");
putenv("ORACLE_HOME=/home/oracle/product/7.3.2");
putenv("LD_LIBRARY_PATH=/home/oracle/product/7.3.2/lib");
putenv("ORA_NLS) =/home/oracle/product/7.3.2/ocommon/nls/admin/data");
putenv("ORA_NLS32=/home/oracle/product/7.3.2/ocommon/nls/admin/data ");
$handle=ora_logon("user38@WWW","iam3849") または死ぬ
$cursor=ora_open($handle);
$serial=md5(rand ()); );
$id=$PHP_AUTH_USER;
$msg=base64_encode($msg);シリアル、ref、id、エイリアス、ip、
msgdate、電子メール、msg、フラグ)values('$serial', '$ref', '$id', '$alias', '$ip',
sysdate, ' $email', '$msg', '$flag')";
ora_parse($cursor, $query) or die;
ora_exec($cursor);
ora_close($cursor);
ora_logoff( $handle) ;
Header("Location: ./index.php");
} else {