ホームページ >php教程 >php手册 >PHPメッセージプログラムの学習例

PHPメッセージプログラムの学習例

WBOY
WBOYオリジナル
2016-06-21 09:02:09902ブラウズ

ほとんどの Web サイトはユーザーとのインタラクティブな関係を考慮します。現時点では、メッセージ ボード機能を使用して、ユーザーが Web サイトへの訪問または Web サイトとのやり取りに関する情報を残すことができます。
デザインの面では、ユーザーからの短いメッセージのみを残す非常にシンプルなデザインもあれば、非常に複雑で性質に応じて分類されるようにデザインすることもできます Web BBS システム。もちろん、自分の Web サイトに掲示板を作成する方法は、Web サイトの性質と Web Web サイト開発者の創意工夫に依存します。

ここで紹介する例は、すべてのメッセージの内容を単純にリストしたものです。ユーザーが一度に複数のメッセージを表示するための情報。システムのバックエンドは、 Oracle 7.x バージョンのデータベース システムを使用してメッセージを保存します。この例のデータベース (データベース) の名前は WWW、接続されているユーザー アカウントは user38 、パスワードは iam3849 です。この例を直接使用するには、まず次の SQL コマンドを実行して、 ゲストブック のデータ テーブルを作成する必要があります。


CREATE TABLE ゲストブック (
serial varchar2(255) not null、
ref varchar2(255) null、
id char(8) not null 、
alias varchar2(32) not null、
ip varchar2(1024) null、
msgdatedate not null、
email varchar2(1024) null、
msg varchar2(2000) not null、
flagchar(1) デフォルト 1、
主キー (シリアル)
);


上記 SQL 各フィールドの説明と詳細を以下の表に示します

シリアル番号 フィールド 名前 レコードタイプ レコード長 フィールドの説明 制限 キー
0
シリアル番号 シリアル varchar2 255 NN PK
1
参照シリアル番号 ref varchar2 255 一時的に予約されています。返信メッセージ機能の場合
2
アカウント id char 8 ユーザーアカウント NN
3
anonymous alias varchar2 32 表示名 NN
4
url 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 オプションを追加します。もちろん、そのパスが実際に Oracle のパスである限り、別のパスに変更しても問題ありません。 Oracle のインストールと使用方法の詳細については、関連する書籍を参照してください。

次のプログラムは、ユーザーのメッセージ情報を ゲストブック メッセージ データ テーブルに追加します。ユーザー認証機能を設定したい場合は、プログラムの開始時にチェックを入れることで、メッセージを送信した本人であることを確認することができ、メッセージを読むときに本人確認を行う必要はありません。この設定により、不適切なコメントを防止できますが、メッセージ機能の利用が一部の人に限定されるわけではありません。


//-------------------------- -
//
メッセージ プログラムの追加 addmsg.php
// 著者: Wilson Peng
// Copyright (C) 2000
//- - -------------------------
//
//
ここに ID チェック機能を追加できます。自分自身
//
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);
ora_commitoff($handle);

$serial=md5(uniqid(rand()));
$id=$PHP_AUTH_USER; ip =$REMOTE_ADDR;
$msg=base64_encode($msg);
$flag="1"
$query="ゲストブックに挿入(シリアル, ref, id, ip, msgdate, email , msg, flag) value('$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("場所: ./index.php");
exit;
?>

head>
<br><br>メッセージを入力してください<br><br>
><フォームメソッド=POSTアクション="">
;td nowrap> ;コード名


メール
type=text name=email size=18>


コンテンツ