[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывести сообщение о ошибке
Astin
Приветствую Форумчане!

Решил сделать вывод сообщений о ошибке на той же странице где и
сама форма, но ничего у меня не выходит.

Надеюсь на вашу помощь.

Вот так вот подключается страница с формой
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();
}


Когда начал проверять форму на вывод ошибок, то получилась вот такая штука:
Данные при ошибке на добавляются в базу и не приходит сообщение на почту,
НО сама ошибка не выводится на той же странице и при этом просто показывается белый экран.

Вот точно что-то сделал не так, уже несколько часов ковыряю и все никак.

Как же сделать вывод сообщений о ошибке на той же странице где и сама форма?




Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.