別ファイルに変数を移したいときには、$_SESSIONが使いやすそう。
ただし!使用時は使用するファイル内全てでsession_start()を使う必要がある。
これを気付かせてくれたのは素晴らしい下記のサイト。

http://linux971.blog92.fc2.com/blog-category-2.html

なんでそうなのかは、追って説明する。(って今は分からないだけ。。)

 

続いて。
ページの最後にセッション関数を初期化+削除しないと、いつまでも残っている。
これはどうやら、セッション関数はWebサーバ上に記憶させているためらしい。
なので放置してるといきなり開いたページで既にエラーが発生したりするため、下記で初期化+削除して毎回リセットさせてやる必要がある。

<?php $_SESSION['error']=array();?>
<?php session_destroy(); ?>

おすすめの記事