Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Остановка скрипта в php  (Прочитано 6131 раз)
0 Пользователей и 1 Гость смотрят эту тему.
emeraudx
Участник

ru
Offline Offline

« : 10-06-2010 22:16 » new

Помогите кто может. Проблема в следующем.

Когда посетитель отправляет письмо с сайта, он заполняет форму, если он, допустим, заполнил не все поля, то обработчик (дан ниже) выводит ошибку "ОШИБКА". Но поскольку функция exit() завершает скрипт, то остальные тэги HTML, которые идут следом за скриптом, не обрабатываются. А это не есть хорошо . Можно ли сделать так, чтобы работу завершил только скрипт, не трогая оставшиеся тэги страницы?

Код: (PHP)

<?
include ("blocks/bd.php");

if (isset($_POST['id'])) {$id = $_POST['id'];}
if (isset($_POST['login'])) {$login = $_POST['login'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['author'])) {$author = $_POST['author'];} if ($author == '') { unset($author);}
if (isset($_POST['name'])) {$name = $_POST['name'];} if ($name == '') { unset($name);}
if (isset($_POST['mail_submit'])) {$mail_submit = $_POST['mail_submit'];}


if (empty($author) or empty($name) or empty($mail_submit))
{
exit ("ОШИБКА");
}
else
{
$name = stripslashes($name);

$author = stripslashes($author);



$name = htmlspecialchars($name);

$author = htmlspecialchars($author);


$subject = "текст";
$to = "кому письмо";
$from='откуда письмо';
$message = "текст письма";
$verify = mail($to,$subject,$message,'From:'.$from."\nContent-type:text/plain; Charset=windows-1251\r\n");
}

if ($verify == 'true')
{
exit ("Успешно");
}
else
{
echo ("Ошибка при отправлении");
}
?>
 


Если можете объясните поподробее и попроще, т.к. я тока начинаю осваивать php.
« Последнее редактирование: 10-06-2010 23:27 от emeraudx » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 11-06-2010 06:02 » 

гляди

Код:
$site = 'Здесь ты пишешь свой html код';
//Здесь ты обрабатываешь POST
if (empty($author) or empty($name) or empty($mail_submit))
{
   echo $site;
   exit ("ОШИБКА");// необязательно
} else {
//здесь ты отсылаешь письмо
}



Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines