シンプルな PHP&MYSQL メッセージ ボードのソース コード ページ 1/2
Jun 13, 2016 pm 12:33 PM
初學(xué)PHP,花了幾晚上寫了個(gè)留言板,請(qǐng)高手指正
p.s.我的空間不支持PHP,不能提供演示了T_T
數(shù)據(jù)庫結(jié)構(gòu):(庫名:lyb)
表一:?admin
字段:?id(int11)???name(varchvr)???password(varchvr)
表二:?lo
字段:?id(int11)???username(varchvr)??sex(varchvr)??qq(varchvr)??email(varchvr)??info(text)??ip(varchvr)??submit_time(datetime)
1?conn.php(連接數(shù)據(jù)庫文件)
mysql_connect("localhost","root","");//連接數(shù)據(jù)庫
mysql_select_db("lyb");//選擇數(shù)據(jù)庫
?>
2?header.php(公用頭部文件)?
復(fù)制代碼 代碼如下:
?
?
?
?
?
?
?
????
????????
- ?
- 偶要看留言 ?
- 偶要發(fā)表 ?
- 退出管理 ?
- 偶要管理 ?
????????????
????????????
???????????? //session_start();//DOFY同學(xué)指出本句前不能有任何輸出內(nèi)容,就此改正
if($_SESSION["key"]==1){//如果獲取的SESSION為1則顯示管理項(xiàng)
?>?
????????????
????????????
}
else
{
?>?
????????????
????????????}?>?
????????
????
????
3?footer.php(公用底部文件)
復(fù)制代碼 代碼如下:
$counterFile="conter.xml";
function displayCounter($counterFile){
$fp = fopen($counterFile,"rw");
$num = fgets($fp,5);
$num += 1;
print "
exec("rm?-rf?$counterFile");?
exec("echo?$num?>?$counterFile");?
}?
if(!file_exists($counterFile)){?
exec("echo?0?>?$counterFile");?
}?
displayCounter($counterFile);?
?>?
?
?
4?index.php(首頁)
復(fù)制代碼 代碼如下:
require_once("conn.php");
require_once("header.php");
session_start();
//分頁代碼開始
$pagesize = 10;//設(shè)置每頁顯示條數(shù)
$rs = mysql_query("select count(*) from lo");//取得記錄總數(shù),計(jì)算總頁數(shù)用
$myrow = mysql_fetch_array($rs);
$numrows = $myrow[0];//計(jì)算總記錄
$pages = intval($numrows/$pagesize);
if($numrows%$pagesize)$pages++;//設(shè)置頁數(shù)
if(isset($_GET['page']))
{
$page = intval($_GET['page']);
}
else
{
$page = 1;//設(shè)為第一頁
}
$offset = $pagesize*($page-1);//計(jì)算記錄偏移量
//分頁代碼結(jié)束
$sql = "select id,username,sex,qq,email,info,ip,DATE_FORMAT(submit_time, '%Y年%m月%d日 %T' ) from lo order by id desc limit $offset,$pagesize";//用到了DATE-FORMAT格式化日期格式
$result = mysql_query($sql);
$num = mysql_num_rows($result);
if($num>0){
????while($row?=?mysql_fetch_array($result))
????{
????//echo?print_r($row);
????????if($row[2]=="男")//這個(gè)使性別改成你想要的名稱^_^
????????{
????????????$sex?=?"帥鍋";
????????}
????????else
????????{
????????????$sex?=?"美女";
????????}
?>
????
第?[= $row[0] ?>]?條留言
????
留言人:= $row[1]?>??性別:= $sex ?>??留言時(shí)間:= $row[7] ?>? if($row[3]) {?>? } ?> if($row[4]){ ?>?
? }?> if($_SESSION["key"]==1){ ?>?IP:= $row[6] ?>??更改?刪除}?>
????
留言內(nèi)容:
????
}
}
else
{
echo "
}
?>
$first=1 ;
$prev=$page-1;
$next=$pages;
if($page==1&&$pages>1)
echo "ホームページ | ";
echo "前のページ | ";
echo "次のページ a> ";
echo "最後のページ ";
}
page>=1&&$page!=$pages&&$num>0)
{
echo "ホームページ< ;/a> | ";
echo "前のページ ";
echo "次のページ | ";
echo "最後ページ ";
}
elseif($page==$pages&&$page!=1)
{
echo "ホームページ | ";
echo "前のページ ";
echo "次のページ | ";
echo "最後のページ | ";
}
elseif($page==$pages )
{
echo "ホームページ | ";
echo "前のページ | ";
echo "次のページ ";
}
else
{
echo "ホームページ | ";
echo "前のページ | ";
echo "次のページ | ";
?>
スパン>= $pages ?> 現(xiàn)在のページ = $page ?< /span> numrows ?> Comments
mysql_close()> >
require_once("footer.php")
?>

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國(guó)語版
中國(guó)語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

n 1クエリの問題を避け、関連するデータを事前にロードすることにより、データベースクエリの數(shù)を減らします。 2.必要なフィールドのみを選択して、メモリと帯域幅を保存するために完全なエンティティをロードしないようにします。 3. DoctrineのセカンダリキャッシュやRedis Cacheの高周波クエリ結(jié)果など、キャッシュ戦略を合理的に使用します。 4.エンティティのライフサイクルを最適化し、クリア()を定期的に呼び出してメモリを解放してメモリオーバーフローを防ぎます。 5.データベースインデックスが存在し、生成されたSQLステートメントを分析して、非効率的なクエリを避けます。 6.変更が不要なシナリオで自動(dòng)変更追跡を無効にし、パフォーマンスを改善するためにアレイまたは軽量モードを使用します。 ORMを正しく使用するには、SQLモニタリング、キャッシュ、バッチ処理、適切な最適化を組み合わせて、開発効率を維持しながらアプリケーションのパフォーマンスを確保する必要があります。

settings.jsonファイルは、ユーザーレベルまたはワークスペースレベルのパスにあり、VSCODE設(shè)定のカスタマイズに使用されます。 1。ユーザーレベルのパス:WindowsはC:\ users \\ appdata \ roaming \ code \ user \ settings.json、macos is/users //settings.json、linux is /home/.config/code/user/settings.json; 2。Workspace-Level Path:.vscode/settings Project Root Directoryの設(shè)定

PHPのゴミ収集メカニズムは參照カウントに基づいていますが、周期的な円形のゴミコレクターによって円形の參照を処理する必要があります。 1。変數(shù)への參照がない場(chǎng)合、參照カウントはすぐにメモリを解放します。 2.參照參照により、メモリを自動(dòng)的にリリースできなくなり、GCを検出およびクリーニングすることがGCに依存します。 3。GCは、「可能なルート」ZVALがしきい値に到達(dá)するか、GC_COLLECT_CYCLES()を手動(dòng)で呼び出すとトリガーされます。 4.長(zhǎng)期実行PHPアプリケーションは、メモリの漏れを避けるために、gc_status()を監(jiān)視し、gc_collect_cycles()を呼び出す必要があります。 5.ベストプラクティスには、gc_disable()を使用してパフォーマンスキー領(lǐng)域を最適化し、ormのclear()メソッドを介して繰り返しのオブジェクトを最適化する回路參照の回避が含まれます。

BREFにより、PHP開発者は、サーバーを管理せずにスケーラブルで費(fèi)用対効果の高いアプリケーションを構(gòu)築できます。 1.Brefは、最適化されたPHPランタイムレイヤーを提供し、PHP8.3およびその他のバージョンをサポートし、LaravelやSymfonyなどのフレームワークとシームレスに統(tǒng)合することにより、PHPをAwslambdaにもたらします。 2。展開手順には、次のものが含まれます。Composerを使用してBREFのインストール、httpエンドポイントや職人コマンドなどの関數(shù)とイベントを定義するためにserverless.ymlの構(gòu)成。 3. serverlessdeployコマンドを?qū)g行して、展開を完了し、Apigatewayを自動(dòng)的に構(gòu)成し、アクセスURLを生成します。 4。Lambdaの制限については、Brefは解決策を提供します。

readonlypropertiesinphp8.2canonlybeassignedonedonedontheconstructoraturatiddeclaration andcannotBemodifiedifiedifiedifiedifiedifiedifiedifiadtivedabilityattthelanguagelele.2.

usearestapitobridgephpandmlmodelsbyrunningthemodelinpythonviaflaskorapiandapiandcallingtfromphpusingcurlorguzzle.2.runpythosscriptsdirectlyfrompurspusingec()orshell_exec()

まず、JavaScriptを使用して、ユーザーシステムの設(shè)定とローカルに保存されたテーマ設(shè)定を取得し、ページテーマを初期化します。 1. HTML構(gòu)造には、トピックの切り替えをトリガーするボタンが含まれています。 2。CSSの使用:rootは明るいテーマ変數(shù)を定義し、.dark-modeクラスは暗いテーマ変數(shù)を定義し、これらの変數(shù)をvar()を介して適用します。 3. JavaScript検出は、カラーのスchemeを好み、LocalStorageを読み取り、最初のテーマを決定します。 4.ボタンをクリックするときにHTML要素のダークモードクラスを切り替え、現(xiàn)在の狀態(tài)をLocalStorageに保存します。 5.すべての色の変更には、ユーザーを強(qiáng)化するために0.3秒の移行アニメーションが伴います

パフォーマンス分析ツールを使用してボトルネックを見つけ、開発とテスト段階でVisualVMまたはJProfilerを使用し、生産環(huán)境で非同期財(cái)産を優(yōu)先します。 2。オブジェクトの作成を削減し、オブジェクトを再利用し、StringBuilderを使用して文字列のスプライシングを置き換え、適切なGC戦略を選択します。 3.コレクションの使用を最適化し、シーンに応じて初期容量を選択し、プリセットします。 4.同時(shí)性を最適化し、同時(shí)コレクションを使用し、ロックの粒度を低減し、スレッドプールを合理的に設(shè)定します。 5. JVMパラメーターを調(diào)整し、合理的なヒープサイズと低遅延のゴミコレクターを設(shè)定し、GCログを有効にします。 6.コードレベルでの反射を避け、ラッパークラスを基本タイプに置き換え、初期化を遅延させ、最終と靜的を使用します。 7。JMHと組み合わせた連続性能テストと監(jiān)視
