検索

3 PHP の練習
PHP の多くの機能は他のソフトウェアやツールに関連しています。これまでに学んだ PHP の知識を使用して、単純なインタラクティブな Web サイトの構築を試みることができます。このプロセスを通じて私たちは多くのことを学ぶことができます。それでは、典型的な個人 Web サイトの構築に焦点を当てましょう。

3.1 サイトを計画する
一般に、個人サイトには、ウェルカム ページ、ゲストブック ページ、ブックマーク リンク ページ、カウンター、連絡先情報、さらにはフォト アルバムやいくつかの音楽ファイルなどが含まれます。タイトルページ、連絡先情報ページ、履歴書ページから始めましょう。標準のユニバーサル ページ ヘッダーとフッターも必要です。

タイトル ページ --front.html


ここには非常に単純な HTML ファイルがあります。


< ; TITLE>
私の個人ホームページ -- ようこそ




私の個人ホームページ



ようこそ





私の質素な住居へようこそ。ここにはまだ何もありません。



しかし、すぐにさらに増えることを願っています。






私自身、1999 年





連絡先情報ページ--count.html

同様に、別の単純なページがあります:


<br>私の個人ホームページ -- 連絡先情報<br>< ;/TITLE> <br><br>


私の個人ホームページ



連絡先





1-800-PHP-INFO



までご連絡ください。



著作権、1999 年






3.2 HTML から PHP へ

上記からわかるように、各ページには同じヘッダーとフッター。作業負荷が軽い場合は、上記のように各ページに同じ情報を書き込むのは問題ありませんが、100 ページを超えるページがあり、すべてのページのヘッダーまたは下部を変更する必要がある場合、どれだけの労力を費やさなければならないかを想像してみてください。ページごとに手動で変更するのは、なんと退屈で退屈な作業でしょう。したがって、これらのページの PHP ヘッダー ファイルと下部ファイルを作成し、すべての HTML ページでそれらを参照するだけで済みます。これらのインクルード ファイルは、include というサブディレクトリに配置します。以下では、これらのサイトに共通するコンテンツをファイルに書き込みます。

サイト全体の共通変数設定: common.inc

// サイト全体の共通変数
$MyEmail = "phptalk@tnc.org";
$ MyEmailLink = "$MyEmail";
$MyName = "PHP Talk";
$MySiteName = $MyName." のホームページ" ;
?>

ユニバーサル ページ ヘッダー: header.inc

// 一般的なページ ヘッダーを定義します
?>


<br> echo "$MySiteName - $title"; ?><br>



echo "$MySiteName"; ?>



title"; ?>





ユニバーサル ページ下部: footer.inc

//ユニバーサル ページ下部
?>




著作権? by
MyName ($MyEmailLink)"; ?>
、1999



HTML>

新しいページfront.php3:

include("include/common.inc");
$title = "ようこそ";
include( " include/header.inc");
?>


私の質素な住居へようこそ、ここにはまだ何もありません。



しかし、すぐにさらに増えることを願っています。



include("include/footer.inc");
?>

新しい cont.php3:
< ; ?
include("include/common.inc");
$title = "連絡先情報";
include("include/header.inc");
?>
< ;P>
1-800-PHP-INFO


include("include/footer.inc");
までご連絡ください。 >

これで、この配置の利点が推測できるようになります。ページのヘッダーまたは下部を変更したい場合は、対応するファイルを変更するだけで済みます。電子メール アドレスや名前を変更したい場合は、common.inc ファイルを変更するだけです。任意のファイル名またはファイル拡張子のファイルをファイルに含めることができ、他のサイトのファイルを含めることもできることにも注目してください。

3.3 カウンター

ホームページにカウンターを追加しましょう。この例は何度も説明されていますが、ファイルの読み取りと書き込み、および独自の関数の作成方法を示すのに依然として役立ちます。 counter.inc には次のコードが含まれています:

/*
|| 単純なカウンター
*/
function get_hitcount($counter_file)
{
/*カウンタをゼロにリセットします
この方法では、カウンタが使用されていない場合、初期値は 1 になります
もちろん、初期値を 20000 に設定して人を騙すこともできます
*/
$ count=0;
// カウンター ファイルが既に存在する場合は、その内容を読み取ります
if ( file_exists($counter_file) )
{
$fp=fopen($counter_file,"r");
// 上位 20 件だけを取り上げました。あなたのサイトが人気になりすぎないことを願っています
$count=0+fgets($fp,20);
// 関数 fgets() は文字列、0を追加することで自動的に整数に変換できます
fclose($fp);
// ファイル操作が完了しました
}
// カウント値を1回増加させます
$ count++;
//新しいカウンター値をファイルに書き込みます
$fp=fopen($counter_file,"w");
fputs($fp,$count);
fclose($fp) );
# カウント値を返します
return ($count);
}
?>
次に、このカウンターを表示するようにfront.php3ファイルを変更します。 ?
include("include/counter.inc");
// ファイル counter.txt にカウンター値を入れ、それを読み出して出力します
printf ("
%06d B>

n",
get_hitcount("counter.txt"));
include("include/footer.inc");
?>
新しいfront.php3 をチェックしてください

3.4 フィードバック フォーム

訪問者が記入して電子メールで送信できるように、別のフィードバック フォームを追加しましょう。たとえば、非常に単純なメソッドを使用して実装します。1 つはビューアに入力フォームを提供するページ、もう 1 つはフォーム データを取得して処理し、メールで送信するページです。

PHP でフォーム データを取得するのは非常に簡単です。フォームが送信されると、フォームに含まれる各要素に対応する値が割り当てられ、一般変数への参照のように使用できます。




process_form.php3 では、変数 $mytext に入力された値が割り当てられます - 非常に簡単です。同様に、リスト ボックス、複数選択ボックス、ラジオ ボックス、ボタンなどのフォーム要素から変数値を取得できます。必要なのは、後で参照できるように、フォーム内の各要素に名前を付けることだけです。

この方法によれば、名前、メールアドレス、メッセージの 3 つの要素を含む単純なフォームを生成できます。訪問者がフォームを送信すると、フォームを処理する PHP ページ (sendfdbk.php3) がデータを読み取り、名前が空かどうかを確認し、最後にデータを電子メールで送信します。

フォーム: form.php3

include("include/common.inc");
$title = "フィードバック";
include("include/header .inc");
?>










include("include/footer.inc");
?>

プロセスフォーム: sendfdbk.php3

include("include/common .inc");
$title = "フィードバック";
include("include/header.inc");
if ( $name == "" )
{
//今では匿名のコメントは嫌いです!
echo "そうですか? どうして匿名なのですか?";
}
elseif ($name == "あなたの名前")
{
// この視聴者は本当にそうしたくありません名前を付けてください!
echo "こんにちは ? あなたの名前
あなたの実際の名前に置き換えられるはずです!";
}
else
{
// 丁寧な感謝の言葉を出力します
echo "
こんにちは、$name。


フィードバックありがとうございます。大変感謝しております。

ありがとうございます


$MyName

$MyEmailLink
";
// 最後にメールを送信します
mail($MyEmail, "フィードバック . ","
名前 : $name
電子メール : $email
コメント : $コメント
");
}
include("include/footer.inc") ;
?>

3.5 シンプルなオンサイト検索エンジン

PHP は外部プログラムを呼び出すことができます。 Unix 環境では、grep プログラムを使用して単純な検索エンジンを実装できます。もう少し複雑にすることもできます。ページを使用して、ユーザーが検索文字列を入力してクエリ結果を出力するためのフォームを出力します。

include("include/common.inc");
$title = "検索";
include("include/header.inc");
?>


" METHOD="POST">
"
SIZE="20" MAXLENGTH="30">




if ( ! empty($searchstr) )
{
// empty() が使用されているクエリ文字列が空かどうかを確認します
// 空でない場合は、 grep query
echo "
n";
// grep を呼び出して、大文字と小文字を区別しないモードですべてのファイルをクエリします
$ cmdstr = "grep -i $searchstr *";
$fp = Popen( $cmdstr, "r" ) // コマンドを実行し、パイプを出力します。
$myresult = array(); // クエリを保存します。 results
while( $buffer = fgetss ($fp, 4096))
{
// grep は次の形式を返します: ファイル名: 文字列に一致する行数
// したがって、関数 Split() はデータを分離して処理します
list($fname, $fline) = Split(":",$buffer, 2);
// 最初の一致の結果のみを出力します
if ( !define($myresult[$fname]))
$myresult[$fname] = $fline;
}
// これで結果を配列に保存し、処理して出力できるようになりました以下
if ( count($myresult) )
{
echo "
    n";
    while(list($fname,$fline) = each($myresult))
    echo "

  1. $fname : $fline
  2. n";
    echo "
n" ;
}
else
{
// 検索結果がない場合は
echo "申し訳ありません。$searchstr
で検索すると結果が返されませんでした。
n";
}
pclose($fp);
}
?>

include("include/footer.inc");
? >


注:

PHP_SELF は PHP の組み込み変数です。現在のファイル名が含まれます。
fgets() は、最大 4096 (指定された) 文字長までファイルを 1 行ずつ読み取ります。
fgetss() は、出力 HTML タグを解析する点を除いて、fgets() に似ています。
split() のパラメータは 2 です。これは、出力を 2 つの部分に分割するだけでよいためです。 「:」も省略する必要があります。
each() は配列操作関数であり、配列全体をより簡単に走査するために使用されます。
popen() と pclose() の関数は、パイプライン処理が追加されていることを除いて、fopen() と fclose() に非常に似ています。
上記のコードは検索エンジンを実装するのに適切な方法ではないことに注意してください。これは、PHP をより良く学ぶための単なる例です。理想的には、キーワードのデータベースを構築してから検索する必要があります。

php 中国語ユーザーからの転載



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SecLists

SecLists

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