PHPで掲示板機能を実装するサンプルコードを詳しく紹介

黄舟
リリース: 2023-03-07 06:02:02
オリジナル
1790 人が閲覧しました

この記事では主に PHP の実装に関する詳細な情報を紹介します。興味のある方は参考にしてください。

この記事の実装アイデアを共有します。 php掲示板の具体的な内容は以下の通りです

1. メッセージ情報を格納するファイル名を作成します

2. フォーム内のデータを取得し、変数に渡します

3.ファイルが存在します

4. ファイルへの書き込み操作を実行します。これを行う前に、ファイルを開くときにファイルへのアクセス方法の選択に注意し、最後にファイルを閉じることを忘れないでください

5.ファイルを保存し、最後にファイルを閉じることを忘れないでください

<?php

//留言板的思路:1.先创建一个文件名,方便于存放写入的内容
//  2.将表单中的内容赋值给一个变量
  //3.判断文件是否存在,将用户输入的值写进变量,打开文件的是时候注意选择对文件访问的操作
  //4.读取文件的内容,关闭文件


 header("Content-Type:text/html;charset=utf8");
 $filename = "message.txt";//创建一个文件的名字

 //如果用户提交了, 就写入文件, 按一定格式写入
 if(isset($_POST[&#39;dosubmit&#39;])) {
 //字段的分隔使用||, 行的分隔使用[n]
 $mess = "{$_POST[&#39;username&#39;]}||".time()."||{$_POST[&#39;title&#39;]}||{$_POST[&#39;content&#39;]}[n]";


 writemessage($filename, $mess);//向文件写进内容

 }

 if(file_exists($filename)) {//判断文件 是否存在
 readmessage($filename);//读取文件的函数
 }


 function writemessage($filename, $mess) {
 $fp = fopen($filename, "a");//在尾部执行写的操作,且不删除原来的文件内容
 
 fwrite($fp, $mess);//写入文件

 fclose($fp);//关闭文件
 }

 function readmessage($filename) {
 $mess = file_get_contents($filename);
 
 $mess = rtrim($mess, "[n]");

 $arrmess = explode("[n]", $mess);

 foreach($arrmess as $m) {
  list($username, $dt ,$title, $content) = explode("||", $m);

  echo "<b>{$username}</b>, ".date("Y-m-d H:i").": <i>{$title}</i>, <u>{$content}</u><br><hr><br>";
 }

 }

?>

<form action="message.php" method="post">
 用户: <input type="text" name="username" value="" /><br>
 标题:<input type="text" name="title" value="" /><br>
 内容:<textarea name="content" cols="40" rows="4"></textarea><br>
 <input type="submit" name="dosubmit" value="留言" /><br>
</form>
ログイン後にコピー

以上がPHPで掲示板機能を実装するサンプルコードを詳しく紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!