Решил сделать вывод сообщений о ошибке на той же странице где и
сама форма, но ничего у меня не выходит.
Надеюсь на вашу помощь.
Вот так вот подключается страница с формой
case 'zayvka' :
include_once './php/credit.php'; // Сам обработчик формы
$file = 'zayvka.tpl'; // Шаблон страницы с формой
$title = 'Онлайн заявка на кредит';
$description = 'Подать онлайн заявку на кредит без Отказа';
$keywords = 'заявка на кредит,подать заявку на кредит';
$css = './skins/css/style.css';
$clas = 'background-color:#215a8e;';
break;
Вот часть кода шаблона страницы где я подключаю
вывод сообщений об ошибках
<div id="zayvka"><!-- начало zayvka -->
<div class="zayvka-top2"><h2>Онлайн заявка на кредит</h2></div>
<?php echo getInfo($error); ?>
<div class="form-contact"><!-- начало form-contact -->
<form class="contact_form" action="" method="post">
Вот сам обработчик credit.php
<?php
// Генерация страницы ошибки при доступе вне системы
if(!defined('KEY'))
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents('../message/404.html'));
}
/////////////////////////////////////////////////////////
// Сама функция вывода сообщений об ошибках
function getInfo($error)
{
if(count($error))
return '<br>' . implode('<br>', $error);
}
//Если переменная zalog передана
if (isset($_POST["zalog"])) {
/* Задаем переменные */
$dat=date("d.m.Y");
$fio = htmlspecialchars(trim($_POST["fio"]));
$den = htmlspecialchars($_POST["den"]);
$mesyc = htmlspecialchars($_POST["mesyc"]);
$year = htmlspecialchars($_POST["year"]);
$city = htmlspecialchars($_POST["city"]);
$region = htmlspecialchars($_POST["region"]);
$zanyt = htmlspecialchars($_POST["zanyt"]);
$zalog = htmlspecialchars($_POST["zalog"]);
$sums = htmlspecialchars(trim($_POST["sums"]));
$srok = htmlspecialchars(trim($_POST["srok"]));
$history = htmlspecialchars($_POST["history"]);
$email = htmlspecialchars(trim($_POST["email"]));
$tel = htmlspecialchars(trim($_POST["tel"]));
$bezspama = htmlspecialchars($_POST["bezspama"]);
$pattern = "#^[а-яё\-\sa-z]+$#ius";
$status = "Новая заявка";
$ip = $_SERVER['REMOTE_ADDR'];
if (!preg_match($pattern, $fio)) {
$error[] = 'Поле "ФИО" заполнено не правильно!';
}
if (!preg_match("/^\+?[0-9]{11,12}$/",$tel)) {
$error[] = 'Поле "Телефон" заполнено не правильно!';
}
if (!preg_match("/^[a-z0-9_.-]+@([a-z0-9]+.)+[a-z]{2,6}$/i",$email)) {
$error[] = 'Не корректный адрес почты';
}
if (!empty($bezspama)) {
$error[] = 'Ты БОТ! БОТАМ запрещено заполнять форму!';
}
if (empty($zalog)) {
$error[] = 'Поле "Предмет залога" не должно быть пустым!';
}
if(!count($error))
{
$query = "
INSERT INTO
`pr`
SET
`status` = '".mysql_real_escape_string($status)."',
`dat` = NOW(),
`fio` = '".mysql_real_escape_string($fio)."',
`den` = ".$_POST['den'].",
`mesyc` = '".mysql_real_escape_string($mesyc)."',
`year` = ".$_POST['year'].",
`city` = '".mysql_real_escape_string($city)."',
`region` = '".mysql_real_escape_string($region)."',
`zanyt` = '".mysql_real_escape_string($zanyt)."',
`zalog` = '".mysql_real_escape_string($zalog)."',
`sums` = ".$_POST['sums'].",
`srok` = ".$_POST['srok'].",
`history` = '".mysql_real_escape_string($history)."',
`email` = '".mysql_real_escape_string($email)."',
`tel` = ".$_POST['tel'].",
`ip` = '".$ip."'
";
$sql = mysql_query($query) or die("Ошибка данных!");
// получаем номер добавленной записи (id)
$id = mysql_insert_id();
//Если вставка прошла успешно
if (mysql_affected_rows() > 0) {
if (mail ("xxxxxxx@gmail.com",
/*** Сбор дополнительной информации об отправителе сообщения ***/
"Новая заявка с сайта xxxx.ru",
"Дата: $dat
======================================================
Персональные данные.\n
ФИО: $fio \n
Дата рождения: $den.$mesyc.$year
-----------------------
Город: $city \n
Регион: $region \n
Тип занятости: $zanyt \n
======================================================
Сведения о кредите.\n
Предмет залога: $zalog \n
Сумма кредита, тг: $sums \n
Срок займа, месяц: $srok \n
Кредитная история: $history \n
======================================================
Контактная информация.\n
E-mail: $email \n
Телефон: $tel",
"Content-type:text/plain; charset=utf-8"));
header('Location: ./message/ok.html');
echo '';
}
}
die();
}
Когда начал проверять форму на вывод ошибок, то получилась вот такая штука:
Данные при ошибке на добавляются в базу и не приходит сообщение на почту,
НО сама ошибка не выводится на той же странице и при этом просто показывается белый экран.
Вот точно что-то сделал не так, уже несколько часов ковыряю и все никак.
Как же сделать вывод сообщений о ошибке на той же странице где и сама форма?