こういう場合、どういう原因がありそうか考えてみましょう。

- confirm.phpでのエラーチェックが出来ていない
- confirm.phpでのエラー文言のセッション保持が出来ていない
- form.phpでのセッションデータにエラー文言がない
- form.phpでのエラー表示処理が間違っている

例えばconfirm.phpでのエラー文言のセッション保持が出来ていないを確認する時は、

```
if(isset($errormsg)){
    $_SESSION['family_name'] = $formData['family_name'];
    $_SESSION['given_name']  = $formData['given_name'];
    $_SESSION['sex']         = $formData['sex'];
    $_SESSION['postalcode']  = $formData['postalcode'];
    $_SESSION['prefecture']  = $formData['prefecture'];
    $_SESSION['email']       = $formData['email'];
    $_SESSION['hobby']       = $formData['hobby'];
    $_SESSION['comment']     = $formData['comment'];
    $_SESSION['errormsg']    = $errormsg;
    var_dump($_SESSION['errormsg']);exit;    // セッションに正しくエラー文言が入ってるか確認
    header("Location:{$_SERVER['HTTP_REFERER']}");
}
```

↑のような形で私はデバッグしてます。整理してみて順次デバッグしてみましょう。

もし時間かかるようであれば原因は特定しているので聞いてください。