PHP 教室 -- 実験 4
実験の目的:
PHP の関数の基本的な応用をマスターし、パラメーターの受け渡しにおける値渡しと参照渡しの違いに注意してください
get メソッドと post メソッドを含む、PHP のフォームの基本的なアプリケーションをマスターします。
の違いに注意してください。PHP でファイルのオープン、クローズ、アップロードをマスターします
PHP での Cookie とセッションの基本的な使用法をマスターします
実験内容:
1. PHP 動的ページを作成するには、まず HTML タグに PHP コードを埋め込み、変数 $x にテキスト値を割り当てます。次に、$x の値を HTML フォームのテキスト入力ボックスの value 属性として使用します。
ヒント:
使用:
2. フォームを使用して の異なる ページを動的に操作します (2 つの異なる方法、取得と投稿の違い)
フォーム ボタンと sumbit ボタンを使用して、前後 2 ページを作成します。前のページの入力ボックスの値を次のページに送信して表示します。
ヒント:
1) 前のページ:
ページジャンプ:
送信ボタン:
2) 次のページ:
前のページから渡されたパラメータを表示するメソッド:
3. フォームを使用して、同じ ページで を動的に操作します。
ループを使用して、ユーザーが入力した 4 つの数字を小さい順に並べ替えて表示します。
ヒント:
このページでの動的な対話: アクションは必要ありません。直接、
送信ボタンが次であるとします:
ページの送信ステータスは $_POST["bt1"] を通じて取得できます:
if(isSet($_POST["bt1"]))//送信ボタンがクリックされた場合、この値は true、それ以外の場合は false です。
4. ファイルのアップロード
ヒント:
ファイル アップロード フォームを作成します。enctype="multipart/form-data"> に注意してください (フォームにバイナリ データが必要であることを示します)。
ファイルのアップロード操作を実行するときは、$_FILES 変数とパラメーターの使用に注意してください。ファイルのアップロード プロセスでは、まずファイルをサーバーの一時ディレクトリ $_FILES["file"]["tmp_name") に保存します。 ] を使用して、move_uploaded_file( ) を指定したディレクトリにコピーします。要件を改善し、ファイルのアップロード プロセス中にファイルの種類とサイズを制限します。たとえば、100k 未満のファイルのみが許可されます。
5. コースウェアの Cookie とセッションの例に従って、Cookie とセッションの基本的な使用法を理解します
1. ソースコード:exam4_1.php
<html> <body> <?php $x = "Hello world!!!"; ?> 1.编写一个php动态页面,在html标记中用先嵌入一段php代码,给变量$x赋一个文本数值; 然后把$x的数值作为一个html表单中的文本型输入框的value属性值。 <input type="text" name="x" size="32" value="<?php echo $x;?>"/> </body> </html>
2. ソースコード:exam4_2.php
<html> <body> <form action="exam4_2_post.php" method="post"> 请输入姓名:<input name="username" type="text"> <input type="submit" value="提交到另一个页面"> </form> </body> </body> </html> exam4_2_post.php <html> <body> <?php echo "由页面exam4_2.php通过POST方式传过来值为"; echo "<br/>"; echo $_POST["username"]; ?> </body> </html>
3. ソースコード:
exam4_3.php
<html> <body> <h1>排列输入数字的大小顺序</h1> <form method="POST"> 数1:<input type="text" name="x[]" > <br> 数2:<input type="text" name="x[]" ><br> 数3:<input type="text" name="x[]" ><br> 数4:<input type="text" name="x[]" ><br> <input type="submit" name="b1" value="提交"> </form> <?php if(isSet($_POST["b1"])) {//已点击了提交按钮 $x = $_POST["x"]; $num = count($x); for($i = 0; $i < $num; $i++) { for($j = $i + 1; $j < $num; $j++) { if($x[$j] < $x[$i]) { $temp = $x[$i]; $x[$i] = $x[$j]; $x[$j] = $temp; } } } echo "<br/>排序结果为:<br/>"; while(list($key,$v) = each($x)) { echo "$key $v<br/>"; } } ?> </body> </html>
4. ソースコード:
exam4_4.php
<html> <body> <h1>文件上传</h1> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">文件名:</label> <input type="file" name="file" id="file" > <br> <input type="submit" name="submit" value="提交"> </form> </body> </html> upload_file.php <?php if($_FILES["file"]["error"] > 0) { echo "返回码:".$_FILES["file"]["error"]."<br/>"; } else { echo "上传:".$_FILES["file"]["name"]."<br/>"; echo "类型:".$_FILES["file"]["type"]."<br/>"; echo "大小:".($_FILES["file"]["size"]/1024)."kb<br/>"; echo "临时文件".$_FILES["file"]["tmp_name"]."<br/>"; if(file_exists("d:/".$_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"],"d:/".$_FILES["file"]["name"]); echo "保存在:"."d:/".$_FILES["file"]["name"]; } } ?>