[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Глюки кода php или у меня)
Гость_Владимир

include("function_config.php");

if($_POST['submit'])
{
if(isset($_POST['name']))
$name = validate_string($_POST['name']);
if(isset($_POST['email']))
$email = validate_string($_POST['email']);
if(isset($_POST['message']))
$message = validate_string($_POST['message']);
if(isset($_POST['code']))
$code = validate_string($_POST['code']);

$fail = validate_name($name);
$fail .= validate_email($email);
$fail .= validate_message($message);
//$fail .= validate_code($code);

echo "<p>$fail</p>"; // Вывод ошибки если она есть

if($fail == "")
{
$date = date('d M Y, H:i:s');
$mess = $date."\nПишет - ".$name.". Его Email - ".$email."\nТекст сообщения:\n".$message;
mail($whom_email, $subject, $mess, $charset);
echo "<p>Ваше письмо отправлено!</p>";
$name = $email = $message = "";
}
}

?>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="POST">
<
p><label>Имя:<br><input type="text" name="name" value="<?php echo $name;?>"></label></p>
<
p><label>E-mail:<br><input type="text" name="email" value="<?php echo $email;?>"></label></p>
<
p><label>Текст сообщения:<br>
<
textarea name="message" rows=5 cols=50><?php echo $message;?></textarea></label></p><br>
<
p class="captcha_cont"><img src="captcha.php" id="captcha"/><br></p>
<
p class="cap_newleft"><a href="javascript:void(0);"
onClick="document.getElementById('captcha').src='captcha.php?rid=' + Math.random();">
Обновить код</a><br></p>
<
p><label>Введите код:<br>
<
input name="code" type="text" size="25" maxlength="30" class="commform"></label></p>
<
p><input type="submit" name="submit" value="Отправить"></p>
</
form>


Всем добрый вечер! Почему у меня после перезагрузки страницы обратно отправляется письмо и высвечивается надпись - "Ваше письмо отправлено"? Как мне кажется глобальная переменная submit должна становится false. Помогите пожалуйста решить эту проблему.



Спустя 10 минут (25.05.2011 - 20:26) T1grOK написал(а):
Не понял что за глобальная переменная? submit - это же кнопка, при чем тут глобальная переменная?
То есть у тебя при обновлении страницы опять идет отсылка...так и должно быть. Во избежание этого делай переадресацию после отправки сообщения.

Спустя 18 минут, 1 секунда (25.05.2011 - 20:44) stalkerk750 написал(а):
$_POST['submit'] это ведь глобальная переменная или нет?! А как переадрисовать ее подскажите пожалуйста. я недавно начал изучять php языка и много чего не знаю, зарание благодарю.

Спустя 8 минут, 31 секунда (25.05.2011 - 20:52) T1grOK написал(а):
ПОСТ глобальный массив, но он существует пока выполняется сценарий.
Переадресация:

header('Location: ccылка');

Можно переадресовать сам на себя лишь бы избавиться от заголовка который пришел с сообщением.

Спустя 27 минут, 30 секунд (25.05.2011 - 21:20) stalkerk750 написал(а):
Наверное глупо спрашивать. А куда его вставить? Я думал что $_POST['submit'] после перезагрузки страницы должен пропустить весь код и вывести форму.

Спустя 2 дня, 21 час, 54 минуты, 40 секунд (28.05.2011 - 19:14) Лена написал(а):

if($fail == "")
{
$date = date('d M Y, H:i:s');
$mess = $date."\nПишет - ".$name.". Его Email - ".$email."\nТекст сообщения:\n".$message;
mail($whom_email, $subject, $mess, $charset);
echo "<p>Ваше письмо отправлено!</p>";
$name = $email = $message = "";
header("Location: http://" . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'];
exit;
}

Спустя 5 часов, 43 минуты, 39 секунд (29.05.2011 - 00:58) stalkerk750 написал(а):
Спасибо за помощь. Я вам очень благодарен.

Спустя 46 минут, 4 секунды (29.05.2011 - 01:44) twin написал(а):
	echo "<p>Ваше письмо отправлено!</p>";
$name = $email = $message = "";
header("Location: http://" . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'];
????????????????????????

Спустя 1 час, 48 минут, 34 секунды (29.05.2011 - 03:33) inpost написал(а):
Лена
Автоматическую буферизацию надо отключать. Так как на лицо ошибка smile.gif

Спустя 10 часов, 29 минут, 14 секунд (29.05.2011 - 14:02) stalkerk750 написал(а):
Цитата (inpost @ 29.05.2011 - 02:33)
Лена
Автоматическую буферизацию надо отключать. Так как на лицо ошибка smile.gif

А что за буферизация blink.gif и как ее отключить? unsure.gif Я над этой проблемой мучаюсь уже две недели. Буду очень рад если Вы поможете решить эту проблему smile.gif
Быстрый ответ:

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