フォームで入力された値を取得($_POST, $_FILES)

フォームで入力された値をPHPで利用する方法を紹介します。htmlとphpのソースを載せますので、どのように対応しているのか確認してください。

$_POST

<form action="送信先プログラムのURI"  method="post">
  <input type="text" name="name1">
  <input type="submit" value="送信">
</form>
echo $_POST["name1"];  //formのname属性を指定します。

$_POST(配列で取得)

チェックボックスで選択された全ての値を取得したいときなどには、name属性に配列を指定します。

<form action="送信先プログラムのURI"  method="post">
  <label><input type="checkbox" name="name2[]" value="1">value1</label>
  <label><input type="checkbox" name="name2[]" value="2">value2</label>
  <label><input type="checkbox" name="name2[]" value="3">value3</label>
  <label><input type="checkbox" name="name2[]" value="4">value4</label>
  <input type="submit" value="送信">
</form>
if (isset($_POST["name2"])) {
  for ($i = 0; $i < count($_POST['name2']); $i++) {
    echo $_POST['name2'][$i] . PHP_EOL;
  }
}

$_FILES

<form action="送信先プログラムのURI" method="post" enctype="multipart/form-data">
  <input type="file" name="upfile">
  <input type="submit" value="送信">
</form>
$uploads_dir = '/uploads';
if(isset($_FILES["upfile"])) {
  if($_FILES["upfile"]["error"] == UPLOAD_ERR_OK) {
 
    //アップロードされたファイルがサーバー上で保存されているテンポラリファイルの名前を取得
    $tmp_name = $_FILES["upfile"]["tmp_name"];  
 
    //アップロードされたファイルの名前を取得
    $name     = $_FILES["upfile"]["name"];
 
    //アップロードされたファイルを任意の場所に移動 
    move_uploaded_file($tmp_name, "$uploads_dir/$name");
  }
}