MEMORVA

フォーム関連の処理、GET、POST

更新:

GET、POSTなどフォーム関連の処理。

フォームなどから引数を取得
・POSTの場合
	$category =$_POST['category'];
・GETの場合
	$category = $_GET['category'];
・タグを無効にする場合は、htmlspecialchars
 <や>などを&lt;や&gt;などにする
	$category = htmlspecialchars($_POST['category']);
・受け取った値をまとめて変換する例
	・半角カタカナを全角カタカナにする
		foreach($_POST as $key => $value){
			$_POST[$key] = mb_convert_kana($value, K);
		}


数値に変換する
・フォームの数値
	POSTやGETの引数の数値は、文字列is_numeric()==1なので、
	整数値として受け取る場合は、
	(int) $value; や intval($value); でキャストして
	強制的に整数値にする。
	値に文字列が含まれている場合、例えば、
	「12abc」は「12」、「abc12」は「0」になる。
・例
	$category_num = (int) $_GET['category_num'];


空文字の判別、空白かどうか調べる
・=== または !==
	=== は、比較するものが等しく、型も等しい場合にtrue
	!== は、===の逆
	・例1
		以下の場合、$sampleが空文字の場合だけtrue
		if($sample === "")
	・例2
		以下の場合、$sampleが空文字以外のNULL、0、"0"などもtrue
		if($sample == "")
		if(!$sample)
		if(empty($sample))
・empty
	変数の値が空かどうか調べる
	true:未定義、NULL、""(空文字)、0、"0"、FALSE
	・例
		$sample = $_POST['sample'];
		
		if(!empty($sample)){
			//空でない場合
		}else{
			//空の場合
		}
・isset
	変数が定義されているかどうか調べる
	false:未定義、NULL


画像をアップロード
・送信フォーム側
	FORMタグに、ENCTYPE="multipart/form-data"を書く。
	
	<FORM ACTION="./sample.php" METHOD="POST" NAME="form1" ENCTYPE="multipart/form-data">
	<INPUT TYPE="file" NAME="item_image1">
	<INPUT TYPE="submit" VALUE="送信">
	</FORM>
・受け取り側サンプル
	$item_image1 = $_FILES["item_image1"]["name"];

	//画像ファイル保存
	$item_image1_path = "../../image/" . $item_image1;
	if(move_uploaded_file($_FILES["item_image1"]["tmp_name"], $item_image1_path)){
		chmod($item_image1_path, 0644);
	}