PHP POST送信 input text入力値の有無判定はissetよりempty
 
                                      PHPでPOST送信をする時、input text入力値の有無を判定するにはissetよりemptyが推奨です、というのも、issetだけの判別だと、変数中身の空っぽかどうかチェックはできないからです。
PHPの書籍では、たまにこんな書き方を見かけます。
//↓ HTMLファイルのinput textデータの送信を受けて…
if (isset($_POST["hoge"])){
  // hogeがある時の処理 
}else{
  // hogeがない時の処理
}これは、実際に動かしてみるとわかりますが、html側で、"hoge"に対応するinputの中身が空っぽでも、"hoge"がある時の処理とされてしまいます。
issetは、その変数が定義されているかどうかをチェックするためです。また、input textは、中身を空っぽの状態で送信した時、中身は空っぽだけど変数自体の定義情報を送ります。(inputのradioとかであれば、定義情報は送られない。ややこしいところです。)
なので、定義された変数の中身が空っぽかどうかをチェックする場合は、emptyによる判定をしないといけません。
if (isset($_POST["hoge"])){
  if ($_POST["hoge"] == ""){
    // hogeがない時の処理
  }else{
    // hogeがある時の処理
  }
}
または、
if (isset($_POST["hoge"])){
  if (empty($_POST["hoge"])){
    // hogeがない時の処理
  }else{
    // hogeがある時の処理
  }
}issetだけの判別だと、変数中身の空っぽかどうかチェックはできないので、気をつけましょう。