Вы не получаете его, потому что apply.php не знает о $ form_error - он был инициализирован в registration.php, но не в apply.php.
Вы можете сделать следующее:
$_SESSION['form_error'] = "Enter full name<br />";
Тогда вы можете получить доступ к нему на apply.php.
<p><?php if(isset($_SESSION['form_error']))echo $_SESSION['form_error']?></p>
<form action="registration.php" method="post">
<label for="fullname">Fullname</label>
<input type="text" name="fullname" />
В качестве альтернативы вы также можете передать ошибку через заголовок (через GET):
$form_error.= "Enter full name<br />";
header('Location: apply.php?form_error=' . urlencode($form_error));
И получить к нему доступ в apply.php:
<p><?php if(isset($_GET['form_error']))echo $_GET['form_error']?></p>
<form action="registration.php" method="post">
<label for="fullname">Fullname</label>
<input type="text" name="fullname" />