ホームページ > バックエンド開発 > PHPチュートリアル > 道路での運転の初心者 道路での PHP の初心者 (6)

道路での運転の初心者 道路での PHP の初心者 (6)

WBOY
リリース: 2016-07-29 08:34:56
オリジナル
972 人が閲覧しました

シンプルなインタラクティブウェブサイトの構築(2)
5.5 Counter
ホームページにカウンターを追加してみましょう。この例は何度も説明されていますが、ファイルの読み取りと書き込み、および独自の関数の作成方法を示すのに依然として役立ちます。 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($fp,$count); fp);
# カウント値を返します
}
?>
次に、このカウンターを表示するように、front.php3 ファイルを変更します。
// カウント値をファイル counter.txt に配置し、読み取って出力します
printf ("

gt;%06dgt;
n" ,
get_hitcount("counter.txt" ));
include("include/footer.inc")
?>
新しいfront.php3をチェックしてください
5.6フィードバックフォーム
訪問者向けに別のフィードバックフォームを追加しましょう記入して電子メールで送信してください。たとえば、非常に単純なメソッドを使用して実装します。1 つはビューアに入力フォームを提供するページ、もう 1 つはフォーム データを取得して処理し、メールで送信するページです。
PHPでフォームデータを取得するのはとても簡単です。フォームが送信されると、フォームに含まれる各要素に対応する値が割り当てられ、一般変数への参照のように使用できます。

;
process_form.php3 では、入力された値が変数 $mytext に割り当てられます - 非常に簡単です。同様に、リストボックス、チェックボックス、ラジオボックス、ボタンなどのフォーム要素から変数値を取得できます。必要なのは、後で参照できるように、フォーム内の各要素に名前を付けることだけです。
この方法によれば、名前、メールアドレス、メッセージの3つの要素を含む単純なフォームを生成できます。訪問者がフォームを送信すると、フォームを処理する PHP ページ (sendfdbk.php3) がデータを読み取り、名前が空かどうかを確認し、最後にデータを電子メールで送信します。
フォーム: form.php3
$title = "フィードバック";

;
;







include("include/footer.inc");
プロセスフォーム: sendfdbk.php3
$title = "フィードバック";
include("include/header.inc");
{
// 今では匿名のコメントが嫌いです!
echo "え?どうして匿名なの?";
}
elseif ($name == "あなたの名前")
{
// この視聴者は本当に名前を明かしたくないのです!
echo "こんにちは ? あなたの名前
実際の名前に置き換えられるはずです!";
}
else
{
// 丁寧なありがとうを出力します
echo "
こんにちは、$name


フィードバックありがとうございます
// 最後にメールを送信してください
mail($MyEmail, "Feedback.","
名前 : $name
電子メール : $email
Comment : $comment
");
}
include("include/footer.inc ");
?>
注: テスト中にプログラムが正しく動作しない場合は、PHP 設定ファイル (php3. PHP3 の場合は ini、PHP4 の場合は php.in) が正しく設定されていること。このプログラムでは、PHP 設定ファイルに次の設定が必要です。
まず、メモ帳を使用して php3.ini または php.ini ファイルを開き、[メール機能] が設定されているかどうかを確認します。 デフォルトの状況は次のとおりです。
SMTP = localhost
sendmail_from = me@localhost.com
SMTP に SMTP サーバーを設定します。できればローカル SMTP サーバーを例として使用します。次に、sendmail_from に電子メールのアドレスを入力します。を次のように変更できます:
SMTP = smtp.21cn.com
sendmail_from = pert@21cn.com
変更後は Apache、IIS、または PWS サービスを再起動することを忘れないでください
5.7 シンプルなオンサイト検索エンジン
PHP。外部プログラムを呼び出すことができます。 Unix 環境では、grep プログラムを使用して単純な検索エンジンを実装できます。もう少し複雑にすることもできます。ページを使用して、ユーザーが検索文字列を入力してクエリ結果を出力するためのフォームを出力します。
include("include/common.inc");

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



if ( ! empty($searchstr) )
{
// empty() はクエリ文字列が空かどうかを確認するために使用されます
// 空でない場合は grep クエリを呼び出します
echo "
n"; / grep を呼び出し、大文字と小文字を区別しないモードですべてのファイルをクエリします
$cmdstr = "grep -i $searchstr *";
$fp = Popen( $cmdstr, "r" ) // コマンドを実行し、パイプを出力します
$myresult = array(); // クエリ結果を保存します
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< /A> : $fline
  2. n";
    echo "
n";
}
else
{
// クエリ結果がない場合
echo "は結果を返しませんでした。
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 初心者 (6) を紹介しました。路上運転初心者の内容も含めて、PHP チュートリアルに興味のある友人の参考になれば幸いです。


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