ホームページ >バックエンド開発 >PHPチュートリアル >PHP投票プログラムの学習例_PHPチュートリアル
PHPを学びたいなら当然PHPをインストールする必要がありますので、初めて学習する方はまずネットワークアカデミーの記事を読んでください:
LinuxでのPHP4.03のインストール
PHP4.04のインストールwin98 でのインストール
英語版 win2000 での PHP4 .04 インストール
インストール プログラムが見つからない場合は、以下からダウンロードしてください:
PHP4.04Beta WIN32 インストール プログラム
PHP4.03 ソース プログラム
PHP3.0.16 WIN32 インストール プログラム
PHP3.0.16 ソース プログラム
この記事は「サンプルで PHP フォーム処理を学ぶ」の続編です。PHP フォーム処理に詳しくない方は、まず前の記事「サンプルで PHP フォーム処理を学ぶ」を読んでください。例。
皆さんは前回の記事でフォーム処理を学習したら、小さなプログラムをいくつか実行するのに十分な自信がありますか? OK、本当に役立つものを作り始めましょう!適用できるPHP投票プログラム。この記事では、Cookie テクノロジーの使用法、PHP 配列操作、ファイル処理について学びます。どうやって?準備はできたか?さあ、いきましょう!
具体的なプログラミングを始める前に、まず以下で使用する必要があるいくつかの重要な概念と関数を学びましょう:
最初は Cookie で、同じマシンが繰り返し投票するのを防ぐために使用する必要があります。
それでは、クッキーとは何でしょうか?英語が十分で、オリジナルのクッキーを食べたい場合は、まずここに来てそれを試してください。そうでない場合は、地蔵が提供する温かいものを食べる必要があります...(そうでなくても私を責めないでください。おいしいです、:- )))
アメリカ英語での cookie の本来の意味は、もちろん、今はクッキーを食べるつもりはありません。ここでの cookie は、多くの制限のある ASCII ファイルを指します。これは、ユーザーの閲覧プロセス中に何らかの情報を記録するためにサーバーによってユーザーに送信されます。 Cookie のファイル サイズは 4K に制限されています。 Cookie にはさまざまな用途があります。たとえば、訪問した Web サイトには訪問回数が記録されますが、ほとんどの Web サイトでは Cookie が使用されます。ここでは、訪問者が投票したかどうかを記録するために使用します。
PHP では、setcookie 関数を使用して Cookie を非常に便利に使用できます。Cookie は実際には HTTP プロトコルのヘッダーの一部です。したがって、他の情報がブラウザに出力される前に、setcookie 関数を呼び出す必要があります。簡単に言うと、< マークの前でこの関数を使用する必要があります。以下は、Xingkong Langzi の PHP4 中国語マニュアルからの setcookie の使用方法の例です。プログラムでの具体的な使用方法については、後で参照してください。
setcookie
Cookie情報をブラウザに送信します。
構文: int setcookie(string name, string value, int期限切れ, string path, string domain, int secure);
戻り値: 整数
関数タイプ: ネットワークシステム
内容の説明
このメソッドは送信しますヘッダーとともにブラウザに小さな情報文字列を送信します。実際、Cookie はヘッダーの一部でもあります。この関数のパラメータは名を除いて省略できます。パラメータ名は Cookie の名前を表し、値は Cookie の値を表します。このパラメータが空の文字列の場合は、ブラウザ内の Cookie データがキャンセルされることを意味します。 Cookie のドメインは Web サイトを表し、Secure は https の安全な送信が使用される場合にのみ有効です。
有効期限の形式は次のとおりです:
Wdy, DD-Mon-YYYY HH:MM:SS GMT
GMTはグリニッジ標準時を表します
使用例
dante@mpath.com (27-May-1999) ) setcookie() と header() の例を提供します。? & Lt;? PHP
$ ステータス = 0;
If (isset ($ mytstcky) && ($ mytstcky == "chocchip")) $ ステータス = 1;
SetCookie ( "myTstCky", "ChocChip");
exit;
< title> ; /title>< /head>
; < body bgcolor="#000000">
; < font color="#%s; " >%s< /font>< br>;',
$status ? "00FF00" : "FF0000",
$status ? "PASSED!" : "FAILED!"); body>
< /html> ;
どうやって?クッキーの使い方を知っていますか? Jizo は、Cookie の有効期限を現在の日から 3 日目にしたい場合の、有効期限に関するちょっとしたトリックを説明します。次に、 time() 関数を使用すると、現在の時刻が秒単位で返されます (注意! この時間には年、月、日が含まれています。奇妙ではありませんか? :))、有効期限を切れたい場合は、日付は次のようになります。 3 日目に設定すると、time()+60*60*24*3 になります。
PHP 配列の使用は非常に簡単です。注意する必要があるのは、そのデフォルトの開始添字が C 言語と同様に 0 から始まることだけです。もちろん、次のように独自の添字を設定することもできます。
1=>「英語: ソースコード、プログラムダウンロード」、
2=>「英語: php Dynamics」、
3=>「英語: ニュースグループ、掲示板」、
4=>" 英語:教育カテゴリ",
5=>中国語: ソースコード、プログラムダウンロード",
6=>中国語: ニュースグループ、掲示板",
7=>"中国語: 教育カテゴリ" );
いつ$descArray[1]= "英語: ソース コード、プログラム ダウンロード" を使用しました。さらにすごいことがあります。それは...
$MyArray2 = array( "
EARTHLY BRIDS" => array("子", "Chou", "寅", "卯"),
"Zodiac" = > array("ネズミ", "ウシ", "トラ", "ウサギ"),
"数字" => array(1, 2, 3, 4) );枝"] [0]="子"; どうでしょうか?とても人間的ではないでしょうか :)
最後に、PHP のファイル処理について見てみましょう。このセクションでは、そのうちの 5 つ、fopen () を使用します。 (); flock();fexists();fwrite(); このうち、flock() に焦点を当てたいと思います。残りはマニュアルを確認してください。
なぜ flock() に注目する必要があるのでしょうか?これはネットワーク プログラミングにとって非常に重要な機能なので、例を示します。2 人が同時に投票し、両方が選択肢 A を選択したとします。このとき、A が同時にデータ ファイルを開いたとします。が 2 の場合、両方の処理が元の処理に 1 を加えて、一方がデータを書き込み、もう一方も書き込みを完了します。このとき、何が起こると思いますか? Aさんの票は何票ですか?正しい結果は 4 であるはずですが、実際には 3 です。なぜこうなった?これはインターネット上のマルチプレイヤー環境の特性によるもので、投票前に flock() 関数を使用してファイルをロックし、投票後にファイルを開いて他のプロセスが動作できるようにする必要があります。上記の状況でクラスエラーが発生しないようにします。 flock機能の使い方は以下の通りです。
flock ファイルをロックします。
構文: boolean flock(int fp, int Operation);
戻り値: ブール値
関数の種類: ファイルアクセス
内容の説明 この関数は、他のプロセスがアクセスできないようにファイルをロックするために使用されます。渡されるパラメータ fp はファイルのインデックスです。パラメータ操作の値は、次の数値のいずれかです:
1. ロックされたファイルの設定により他のプロセスが読み取りを許可できることを示します。
2. このプロセスのみがファイルを書き込みできることを示します
3. 両方の読み取りを示します。そしてLockを書きます
4.ブロック(ブロック)をロックしないでください。
この関数のロック効果はUNIX系でもWindows系でも同様です。実行が成功した場合は true 値が返され、それ以外の場合は false 値が返されます。
さて、基本を学びました、始めましょう!まずはこのサンプルプログラムをダウンロードしてみましょう。その後、まず自分のプラットフォームで試してみてください。これにより、ある程度の感覚的な理解が得られると思います。
このアプリケーションでは、vote.php、config.php、1.gif、データを保存するファイルの合計3つのファイルを使用します(ファイル名は自由に設定できます。ここではsum.txtとします)このうち、vote.php はメインのプログラム ファイルであり、config.php は、頻繁に変更が必要な情報を設定するために使用されます。
//config.php ファイル
<
//title 変数はブラウザのタイトルバーに表示されるタイトルタグを設定します
$title=Reader Type Questionnaire;