php的许多特点与其他软件或者工具有关。利用迄今为止我们所学到的PHP知识,我们可以试着建立一个简单交互的网站。利用这一过程我们又可以学到不少东西。好吧,我们现在开始专注于一个典型个人网站的建设。
5.1 计划一个站点
一般一个个人站点包括一个欢迎页面、一个留言本页面、一个书签链接页面、一个计数器、联系信息,甚至还有照片集和一些音乐文件等等。
5.2 用include和require进行模块化
我们看一些用PHP构架的网站,几乎网站每一个页面的PHP文件里都会有include和require嵌入其间。这是因为使用include和require不但可增强代码的可读性,而且可将站点分成模块来管理。一般来说,对于一个网站上的每个页面肯定会有重复的内容。例如:页面头部的导航条、广告图标、或边部导航等。可能还在每页的页脚即页面的底部有著作权或一些基于文本的导航条。如果我们要修改一个包含成千上百个页面的大网站上的导航条或是徽标之类的内容,用我们以往的方法,我们只能遂一对每一页面进行更改。不用我说,大家也能想像到这是一件多么艰巨而痛苦的差事。那么,我们到底有没有更好的解决方法呢?答案是肯定的。我们可以将重复的内容都放到一个文件中,然后在每一个需要这些内容的页面上用PHP的include和require函数动态地调用该文件。这样,以后如果我们想对所有页面上的这些复用内容做修改时,就只需要更改包含了这些重复内容的文件。
为了便于大家理解,让我们先来看看include和require的一个简单应用:
HTML的页面开始,也许你会在站点的每页的头部包含它(head.htm)。
页面内容(content.htm)。
欢迎来我的寒舍,虽然这里现在暂时还没有什么。
HTML的页面的结束(trail.htm)
用include和require函数把HTML从PHP中分离出来,将HTML和PHP分成模块:
/*
调用HTML页面的头部
*/
require("head.htm");
/*
调用HTML页面的内容
*/
require("centent.htm");
/*
调用HTML页面的尾部
*/
require("trail.htm");
?>
5.3 让我们从一个标题页面、一个联系信息页面和一个简历页面开始。我们同样需要标准的、通用的页面头部和底部。
标题页面--front.htm
这里我们有一个非常简单的html文件:
我的个人主页--欢迎
我的个人主页
欢迎
欢迎来我的寒舍,虽然这里现在暂时还没有什么。
不过我希望马上就可以多起来。
Copyright ? 我自己,1999
联系信息页面--count.htm
同样我们又有了一个简单页面:
我的个人主页--联系信息
我的个人主页
联系信息
你可以通过1-800-PHP-INFO联系我
Copyright ? 我自己,1999
5.4 从HTML到PHP
从上面你可以看出,每个页面有相同的头部和底部。像上面那样每个页面都写入相同的信息在工作量少的时候还可以,但是想象一下当有100多页面且你需要全部更改其头部或底部时你要花费多大精力?一页一页的手工更改是一件多么冗长无趣的事情啊!所以我们应该为这些页面编写PHP的头部和底部文件,之后我们只要在每个HTML页面中引用它们就行了。在include和require函数中都包含一个PHP代码的文件,不管该文件的扩展名是什么,它都被当作是PHP文件。我们将把这些include文件放在一个叫include的子目录下,并取成以.inc为后缀的文件。下面我们就把这些站点的通用内容写进文件中。
全站通用变量设定:common.inc
// 全站通用变量
$MyEmail = "phptalk@tnc.org";
$MyEmailLink = "$MyEmail";
$MyName = "PHP Talk";
$MySiteName = $MyName."'s Home Page";
?>
通用页面头部:header.inc
// 定义通用页面头部
?>
echo "$MySiteName - $title"; ?>
echo "$MySiteName"; ?>
echo "$title"; ?>
通用页面底部:footer.inc
// 通用页面底部
?>
Copyright ? by
echo "$MyName ($MyEmailLink)"; ?>
, 1999
新的页面front.php3:
include("include/common.inc");
$title = "Welcome";
include("include/header.inc");
?>
欢迎来我的寒舍,虽然这里现在暂时还没有什么。
不过我希望马上就可以多起来。
include("include/footer.inc");
?>
新的count.php3:
include("include/common.inc");
$title = "Contact Information";
include("include/header.inc");
?>
你可以通过1-800-PHP-INFO联系我
include("include/footer.inc");
?>
现在你可以体会一下这样安排的好处了。如果你想改动页面的头部或者底部,你只需要改动相应的文件就可以了。如果你要修改你的e-mail地址甚至你的名字,只要修改common.inc文件就行了。另外值得注意的是你可以把具有任何文件名或者文件扩展名的文件包含进你的文件中,你甚至可以包含其他站点上的文件。

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版
中国語版、とても使いやすい

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック









