ホームページ > バックエンド開発 > PHPチュートリアル > PHP Mysqlに掲示板機能を実装

PHP Mysqlに掲示板機能を実装

PHP中文网
リリース: 2016-06-13 12:35:28
オリジナル
1605 人が閲覧しました

私は最近 PHP の基本的な構文を調べ、これらの基本的なものを使用して掲示板を実装したいと考えました。これは基本的な知識の統合でもあります。

掲示板とは何ですか?テキスト情報を記録および表示するために使用できるキャリア。


それでは本題に入り、この掲示板がどのように実装されたかについて話しましょう。

まず、ユーザーがメッセージを送信すると、関連するコンテンツがサーバーに保存され、読みたいときにすべてのメッセージがバックグラウンドで読み出され、最終的にブラウザーに表示されます。ユーザーはメッセージを見ることができます。

バックエンドには、データの読み取りと書き込みを容易にするツールが必要です。これらの作業を行うために、MySQL データベースを選択しました。


主に次の 3 つの php ファイルを作成しました。

conn.php データベースに接続します。

addmsg.php php を読み取ります。ページからメッセージの内容を取得してデータベースに保存します。

listmsg.php データベースからメッセージの内容を読み取り、ページに表示します。

1. データベースのテーブル構造を作成する準備をします。これは phpMyAdmin でのテーブル構造のスクリーンショットです。


テーブルの作成syntax

SQL CREATE TABLE syntax

2.php mysql データベースに接続し、データベースの 1 つを選択します。ここでは bbs データベース (以前に作成したもの) を選択しました。使用するいくつかの PHP ライブラリ関数、 PHP Mysqlに掲示板機能を実装

①mysql_connect("localhost", "root", "")

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
ログイン後にコピー
php は mysql に接続します。パラメータは次のとおりです。 mysql アドレス (localhost はローカルマシンを表します)、ユーザー名、パスワード

戻り値: 接続に失敗した場合は false を返し、成功した場合は接続識別子を返します

②mysql_select_db($ dbName, $conn);

mysql には多数のデータベースが存在する可能性があるため、次の操作ではそのうちの 1 つを選択する必要があります。


パラメータ: 1 つ目はデータベース名、2 つ目はリンク識別子です。ここで①に戻り値を入力できます。つまり、①で mysql を使用します。

戻り値: 接続が失敗した場合は false、接続が成功した場合は true。

③mysql_query(query,connection)

パラメータ: query は、mysql に実行させたいステートメントを表します

connection オプション、SQL 接続識別子は上記と同じです

戻り値: mysql_query() は、SELECT、SHOW、EXPLAIN、または DESCRIBE ステートメントのリソース識別子のみを返し、クエリが正しく実行されなかった場合は FALSE を返します。

他のタイプの SQL ステートメントの場合、mysql_query() は正常に実行された場合は TRUE を返し、エラーが発生した場合は FALSE を返します。

<对> この戻り値の個人的な要約: この関数の実行が失敗した場合は FALSE に戻ります。正常に実行されるステートメントは、Select、Show、Explain、または Describe ステートメントの場合、リソース識別子です。文は TRUE に戻ります。

は、コード

conn.php

< の下にある掲示板のコンテキストが出てきました。 🎜>

🎜>上記の toHtmlcode カスタム関数は、文字列内のキャリッジ リターン (n) を HTML
のライン フィードに置き換えることです。 HTML 内のスペース ( )

関数の 1 つは次のように導入されます

構文
<span style="font-family:Comic Sans MS;font-size:14px;"><?php  
    include("head.php");  
    $dbName = "bbs";  
    $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");  
    $flag = mysql_select_db($dbName, $conn);  
    mysql_query("set names &#39;GBK&#39;"); //使用GBK中文编码;  
      
    function toHtmlcode($content)  
    {  
        return $content = str_replace("\n","<br>",str_replace(" ", " ", $content));  
    }  
?></span>
ログイン後にコピー


addmsg.php

include は、include

str_replace(find,replace,string,count)
ログイン後にコピー

PHP Mysqlに掲示板機能を実装

$_POST 変数と同様に conn.php に導入されます。 C 言語では、$_POST 変数は配列です。この変数は、method="post" からフォームを収集するために使用されます。post によって発行されたキー

値のペアの値は、この $_POST 配列に格納されます。 $_POST['submit'] は、submit キーの値を受け取ります。submit がトリガーされた場合、つまり CheckPost が true を返した場合、値は
<span   style="max-width:90%"><?php  
// 引用之前写好的连接数据库文件  
include("conn.php");  
  
if(@$_POST[&#39;submit&#39;]){  
    $sql = "insert into message (id,user,title,content,lastdate)" .  
    "values ( &#39;&#39;,&#39;$_POST[userName]&#39;,&#39;$_POST[title]&#39;,&#39;$_POST[content]&#39;,now())";  
    mysql_query($sql);  
    echo "添加成功";  
}     
  
?>  
  
<SCRIPT language=javascript>  
function CheckPost()  
{  
    if (myform.userName.value=="")  
    {  
        alert("请填写用户名");  
        myform.user.focus();  
        return false;  
    }  
    if (myform.title.value.length<5)  
    {  
        alert("标题不能少于5个字符");  
        myform.title.focus();  
        return false;  
    }  
    if (myform.content.value=="")  
    {  
        alert("必须要填写留言内容");  
        myform.content.focus();  
        return false;  
    }  
      
}  
</SCRIPT>  
  
<form action="addmsg.php"  method="post" name = "myform" onsubmit="return CheckPost();">  
    用名:<input type="text" size="10" name="userName" /><br/>  
    标题:<input type="text" name="title" /><br/>  
    内容:<textarea  name="content" cols="60" rows="9" ></textarea><br/>  
    <input type="submit" name="submit" value="提交留言" />  
</form>  
  
  
  
</span>
ログイン後にコピー

明らかに $_POST['submit'] です。空ではない場合は true を意味し、if 内の挿入ステートメントが実行されます。メッセージの内容を mysql データベースに保存します。

listmsg.php

php コードと html コードの混在は、依然としてかなり乱雑に見えます。

php は mysql からメッセージの内容を取得してページに表示します。ここではテーブルに表示します。主なコードは上記にあります。

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