02region
Новичок
Помогите решить проблему с security-image-code.
Товарищи программисты, тут вопрос один есть. Может Вы сможешь мне помочь.
У меня простая форма была для отправки сообщений, но эти спам-роботы надоели. Я решил защитную генерирующую картинку поставить. Поставил, а как мне теперь объеденить мой пред. скрипт и текущий.
раньше было так: (send.php)
<?php
$admin = "имя@домен.ru";
$subject = "сообщение с сайта домен.ru";
$text = "ФИО:".$name."\n
Контактный телефон: ".$phone."\n
E-mail: ".$mail."\n
Тема сообщения: ".$subject."\n
Сообщение: ".$mes."\n";
// здесь производим непосредственную отправку письма
mail($email = $admin, $subject, $text, "From: $admin\nReply-To: $admin\nContent-Type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Refresh" content="2; URL='http://www.inva-trade.ru'">
<title>Ваше сообщение отправлено!</title>
<link href="main.css" type="text/css" rel=stylesheet>
</head>
<body style="background-color: #FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td>
<p align="center">
<span class="text"><font color="#5294CE"><b>Ваше сообщение отправлено!</b></font>
<br>
<font color="#999999">Сейчас вы автоматически перейдете на главную страницу.</font>
</span>
т.е. без какой либо проверки, а теперь добавилось следующее:
<?php
error_reporting(E_ALL & ~E_NOTICE);
session_start();
if (!isset($_SESSION["SecurityCode"])) {
echo("Нет необходимой сессионной переменной !");
exit();
}
$securitycode=((!isset($_POST["securitycode"]))?"":strtoupper(trim($_POST["securitycode"])));
if (isset($_SESSION["SecurityCode"]) && $_SESSION["SecurityCode"] == $securitycode) {
echo("Код введен корректно !<br>");
echo("Код: ".$securitycode."<br>");
} else {
echo("Неверный код !<br>");
echo("<a href=\"index.php\">Назад</a>");
}
?>
Как мне сделать, чтобы соощение отсылалось, только в том случае, если код правильный???
Пожалуйста помогите!!!
Товарищи программисты, тут вопрос один есть. Может Вы сможешь мне помочь.
У меня простая форма была для отправки сообщений, но эти спам-роботы надоели. Я решил защитную генерирующую картинку поставить. Поставил, а как мне теперь объеденить мой пред. скрипт и текущий.
раньше было так: (send.php)
<?php
$admin = "имя@домен.ru";
$subject = "сообщение с сайта домен.ru";
$text = "ФИО:".$name."\n
Контактный телефон: ".$phone."\n
E-mail: ".$mail."\n
Тема сообщения: ".$subject."\n
Сообщение: ".$mes."\n";
// здесь производим непосредственную отправку письма
mail($email = $admin, $subject, $text, "From: $admin\nReply-To: $admin\nContent-Type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Refresh" content="2; URL='http://www.inva-trade.ru'">
<title>Ваше сообщение отправлено!</title>
<link href="main.css" type="text/css" rel=stylesheet>
</head>
<body style="background-color: #FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td>
<p align="center">
<span class="text"><font color="#5294CE"><b>Ваше сообщение отправлено!</b></font>
<br>
<font color="#999999">Сейчас вы автоматически перейдете на главную страницу.</font>
</span>
т.е. без какой либо проверки, а теперь добавилось следующее:
<?php
error_reporting(E_ALL & ~E_NOTICE);
session_start();
if (!isset($_SESSION["SecurityCode"])) {
echo("Нет необходимой сессионной переменной !");
exit();
}
$securitycode=((!isset($_POST["securitycode"]))?"":strtoupper(trim($_POST["securitycode"])));
if (isset($_SESSION["SecurityCode"]) && $_SESSION["SecurityCode"] == $securitycode) {
echo("Код введен корректно !<br>");
echo("Код: ".$securitycode."<br>");
} else {
echo("Неверный код !<br>");
echo("<a href=\"index.php\">Назад</a>");
}
?>
Как мне сделать, чтобы соощение отсылалось, только в том случае, если код правильный???
Пожалуйста помогите!!!