ホームページ  >  記事  >  php教程  >  PHP投票プログラムの学習例(1)

PHP投票プログラムの学習例(1)

WBOY
WBOYオリジナル
2016-06-21 09:02:29890ブラウズ

学習前の準備:

PHP、 を学習したい場合は、もちろん PHP をインストールする必要があります。初めて学習する場合は、オンラインアカデミーの記事最初:

PHP4.03inlinux

PHP4.04 内の にインストールwin98

PHP4.04 英語 にインストールwin2000

インストール プログラムが見つからない場合は、以下からダウンロードしてください:

> PHP4.03ソースプログラム


PHP3.0.16 WIN32 インストーラー


> この記事は 事例研究 PHP フォーム処理 」の続編です。php に詳しくない場合は、前のパート をお読みください。最初に ————サンプル学習 PHP フォーム処理。

皆さん 前の記事 フォーム処理を学習した後、自信があり、いくつかの小さなプログラムを実行してみますか?毛織物? OK、本当に役立つものを作り始めましょう! PHP に適用できる投票プログラム。この記事では、cookie テクノロジーの使用法、PHP の配列操作、およびファイル処理について学びます。どうやって?準備はできたか? さあ、行きましょう!

具体的なプログラミングを始める前に、まず以下で使用する必要があるいくつかの重要な概念と関数を学びましょう。 🎜>

最初は cookie で、同じマシンを防ぐために使用する必要があります。再投票してください。

それでは、クッキーとは何でしょうか?英語が十分で、オリジナルのクッキーを食べたい場合は、まずここに来てそれを試してください。そうでない場合は、地蔵しか食べられません。暑い (美味しくなくてもお世辞は言わないでください、:-)) )
クッキー 本来の意味はアメリカ英語で小さなクッキーです もちろん、ここではクッキーを食べるつもりはありません。 cookie は、多くの制限がある ASCII ファイルを指します。これは、閲覧プロセス中に ユーザーに関する情報 を記録するためにサーバーからユーザーに送信されます。 Cookie のファイルサイズは 4K に制限されています。 Cookie にはさまざまな用途があります。たとえば、訪問した Web サイトには訪問回数が記録されますが、ほとんどの Web サイトでは Cookie ここでは、訪問者が投票したかどうかを記録するために使用します。

PHP ではとても便利に使えます setcookie 関数を使用して cookiecookie は実際には HTTP プロトコルの ヘッダー の一部。したがって、他の情報がブラウザに出力される前に、setcookie 関数を呼び出す必要があります。簡単に言うと、この関数は マーク の前に使用する必要があります。 。以下は、Starry Sky の PHP4 の中国語マニュアルからの setcookie の使用例です。放蕩息子、ちょっと待ってください。プログラム内での具体的な使い方を見てみましょう。

setcookie
Cookie 情報をブラウザに送信します。

構文: int setcookie(文字列名、文字列値、int 有効期限、文字列パス、文字列ドメイン、

戻り値: 整数

機能タイプ: ネットワークシステム

コンテンツの説明
この 関数は、ヘッダー ヘッダー とともに小さな情報文字列を送信します。ブラウザ。この 関数を使用するには、 HTML データを送信する前に、 Cookie が実際に の部分。 この関数の パラメータは、最初の を除いて省略できます。パラメータ 名前 クッキー の名前を表します はこの を表します cookie の値。このパラメータが空の文字列の場合、ブラウザ内の cookie のデータをキャンセルすることを意味します。 expire は、 Cookie の有効期間を示します。 パス は、 cookie 関連パス; ドメイン cookie の Web サイトを表します。 🎜> は必須です。 https の安全な送信にのみ有効です。
期限切れ
時刻の形式は次のとおりです: > Wdy
、DD-Mon-YYYY HH:MM:SS GMT

GMT
はグリニッジ標準時
を表します。
使用例

dante@mpath.com (1999 年 5 月 27 日) setcookie() および < 🎜 によって提供されました。 > header() 例。

<php
status=0; >ChocChip")) $status = 1;
if (!isset($CCHK)) { setcookie("myTstCky
", "
ChocChip")
header("Location: $PHP_SELF?CCHK=1");
終了; }

🎜>
< クッキーチェック< /title<ヘッド>
< ボディ bgcolor= "#FFFFFF" text="#000000">
🎜> Cookie チェック ステータス:
< 🎜>php
printf
('< font color="#%s">%s< /font><
br>',
$ステータス ? "00FF00" : "FF0000",
$status ? "PASSED!" : "FAILED!");
?>

どうでしょうか?
クッキー
の使い方を知っていますか? クッキー


を作りたい場合、地蔵さんが有効期限に関するちょっとしたコツを教えてくれます。有効期限 の日付は今から 3 日後です。次に、time() 関数を使用すると、現在時刻を秒単位で返します (注意! この時間には、年、月、日が含まれますね? ? :) ) の場合、有効期限 の日付を 3 日目に設定する場合は、 time()+ 60*60*24*3 >C 言語と同様に、次のように独自の添え字を設定することもできます。 🎜> $
descArray
=array(
1=> ;"英語: ソースコード、プログラムダウンロード",

2=>"英語:
php
dynamic ",
3=>"
英語: ニュースグループ、掲示板"、 4=>"英語: 教育 ",
5=>"中国語: ソース コード、プログラム ダウンロード",
6=>"中国語: ニュースグループ、掲示板",
7=>"中国語: 教育 " );


ときused $descArray[1]= "英語: ソース コード、プログラム ダウンロード"。さらにすごいのは、

もできることです。 $MyArray2 = array( "
地上の枝" => array(""、"醜い"、""、""),
"干支" => array(" ネズミ"、""、"トラ"、" > ウサギ")、
"数字" = > 配列(1, 2, 3, 4) ); 使用時$MyArray2["地球の枝"][0]=""; はどうですか?とても人間的ではないでしょうか:)

最後に見てみましょうPHP には、ファイル処理用の関数が約数十あります。このセクションでは、そのうちの 5 つの関数を使用します。 fopen(); fclose(); flock();fexists ();fwrite (); このうち、flock() に焦点を当てたいと思います。残りはマニュアルを参照してください。

なぜ
flock() に注目する必要があるのでしょうか?これはネットワーク プログラミングにとって非常に重要な関数なので、例を示します。2 人が同時に投票し、全員がオプション A を選択したとします。 A の投票が 2 の場合、両方のプロセスが 1 を追加します。 、次に、一方がデータを書き込み、もう一方も書き込みを終了します。この時点で何が起こると思いますか? A への投票は何ですか?正しい結果は 4 であるはずですが、実際には 3 です。なぜこのようなことが起こっているのでしょうか?これはインターネット上のマルチプレイヤー環境の特性によるもので、投票する前に、まず flock() 関数を使用してファイルをロックしてから、上記のようなエラーを防ぐために、投票プロセスの後に他の人が投票できるようにファイルを作成します。以下は、flock 関数の使用方法の説明です。 flock ファイルをロックします。

構文: boolean flock(int fpint 演算); ブール値

関数タイプ
:
ファイルアクセス
コンテンツの説明
この関数は、ファイルを
ロックするために使用されます。プロセスはアクセスできません。
fp で渡されるパラメーターはファイルのインデックスです。パラメータ 操作 の値は、次の数値のいずれかです: >。これは、ロックされたファイルが他のプロセスを許可するように設定できることを示します。読み取り; は、この旅行のみをファイルに書き込むことができることを意味します。 🎜> 3
は、読み取りと書き込みの両方がロックされていることを意味します。
そしてこの 関数は、 UNIX であっても Windows シリーズのロック効果は似ています。実行が成功した場合は、 true 値が返され、そうでない場合は、 false 値が返されます。



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