Не выводятся переменные

cap4369

Новичок
Здравствуйте! Помогите справиться с проблемой. Создаю форму обратной связи. В обработчике формы создаю случайные переменные $a и $b для проведения арифметических операций в капче. Проверяю их вывод на странице формы, они не выводятся. Хотя сам скрипт отправки сообщений работает. Таким образом еще до генерации капчи и вывода ее изображения уже возникла проблема, а в чем дело не могу понять.
Код формы:
Код:
<?php
    include "config.php";
    session_start();
?>
<div class="form_mail">
    <form method="post" action="<?php echo $site_url; ?>classes/mail.php">
        <table cellspacing="20">
            <tr>
                <td><span id="red_star">*</span> Имя:</td>
                <td><span><input type="text" name="name" maxlength="20" size="25" value="<?=$_SESSION['name'];?>" /></span></td>
            </tr>
            <tr>
                <td><span id="red_star">*</span> Ваш Email:</td>
                <td><span><input type="text" name="mail" maxlength="20" size="25" value="<?=$_SESSION['mail'];?>" /></span></td>
            </tr>
            <tr>
                <td>
                <span id="red_star">*</span> Сообщение:</td>
                <td><span><textarea cols="45" rows="5" name="text"><?=$_SESSION['text'];?></textarea></span></td>
            </tr>
            <tr>
                <td><span id="red_star">*</span><label for="captcha"><?= "$a + $b" ?> = ? :<?= $_SESSION['res_captcha'] ?></label></td>
                <td><span><input type="text" name="captcha" id="captcha" /></span></td>
            </tr>
            <tr>
                <td colspan="2"><p class="form_mail_submit"><input  type="submit" name="submit" value="Отправить сообщение"></p></td>
            </tr>
        </table>           
    </form>

    <p class="message"><?=$_SESSION['res']?><p>

</div><!-- #mailform -->
<?php
session_unset();
session_destroy();
?>
Код обработчика:
Код:
<?php
include "config.php";
if($_POST['submit']){
    session_start();
// определяем переменные
    $name = substr($_POST['name'], 0, 20);
    $mail = substr($_POST['mail'], 0, 20);
    $text = substr($_POST['text'], 0, 2000);
    $captcha = $_POST['captcha'];
   
// проверка заполнения обязательных полей   
    $error = '';
    $pattern = "/^.+@[a-z0-9]+\.[a-z]{2,6}$/i";
    if(empty($name)) $error = '<li>Не заполнено поле "Имя"</li>';
    if(empty($mail)) $error .= '<li>Не заполнено поле "Email"</li>';
    if(empty($text)) $error .= '<li>Не заполнено поле "Сообщение"</li>';
    if(empty($captcha)) $error .= '<li>Не заполнено поле "Введите ответ"</li>';
    if(!empty($mail) and !preg_match($pattern, $mail)) $error .= '<li>Поле "Ваш Email:" не соответствует установленному формату</li>';

    if(empty($error)) {
// определяем переменные
        $to = '[email protected]';
        $subject = "\r\n".'Заполнена форма на сайте'. "\r\n";
        $message = "\r\n"."Имя: " .$name. "\r\n";
        $message .= "Обратный e-mail: " .$mail. "\r\n";
        $message .= "Текст сообщения: " .$text. "\r\n";
        $headers = "Content-type: text/plain; charset = \"utf-8\"";
        // формируем сообщение
        if(mail($to, $subject, $message, $headers)) {
            $_SESSION['res'] = $name.', Ваше письмо успешно отправлено.';
            header("Location: $site_url?option=contacts");
            exit();
        }
        else {
            $_SESSION['res'] = 'Произошла ошибка. Попробуйте еще раз.';
            header("Location: $site_url?option=contacts");
            exit();
        }
    }
    else {
        $_SESSION['res'] = "Не заполнены обязательные поля:<ul>" .$error. "</ul>";
        $_SESSION['name'] = $name;
        $_SESSION['mail'] = $mail;
        $_SESSION['text'] = $text;
        header("Location: $site_url?option=contacts");
        exit();
    }     
}
else {
    header("Location: $site_url?option=contacts");
    exit();
}
$a = mt_rand(1, 10);
$b = mt_rand(1, 10);
$_SESSION['res_captcha'] = $a + $b;

?>
 
Сверху