Ребят помогите пожалуйста написать условие проверки капчи, не пойму как правильно написать. У меня данные с формы должны отправялтьсяя методом POST в файл insert.php , все нормально отправляется, файл captcha.php рисует защитный код, но когда я ввожу провверочные данные , хоть правильно хоть неправильно , все равно данныех с формы записываются в БД. Мне нужно чтоб выдавало ошибку КАПЧИ. и прерывало выполнение, до тех пор пока не будет введён правильный проверочный код.
index.php
<form action="/data/insert.php" method="POST" id="guest-form" name="reg">
<input id="username" type="text" name="name" placeholder="Username">
<input id="email" type="text" name="email" placeholder="E-mail">
<textarea id="message" type="text" name="text" placeholder="Your message"></textarea>
<img src="data/captcha.php" alt="Картинка" /><br />
<input id ="captcha" type="text" name="captcha" placeholder="Verify code" /><br />
<input id="submit" class="btn btn-default" type="button" value="Submit">
</form>
Ajax
$(document).ready(function() {
$('#submit').click(function() {
var username = $('#username').val();
var email = $('#email').val();
var message = $('#message').val();
var captcha = $('#captcha').val();
if(username === ''){
alert('Please input data in all fields');
}
else {
$.ajax({
type: "POST",
cache: false,
url: '/data/insert.php',
data: {username: username, email: email, message: message, captcha: captcha},
success: function(data) {
}
});
}
});
});
Insert.php обработчик
require_once 'db.php';
session_start();
if (isset($_SESSION["captcha"]) && $_SESSION["captcha"]===$_POST["captcha"]){
dataInsert();
}
else {
echo 'error captcha';
}
unset($_SESSION["captcha"]);
function dataInsert(){
if (isset($_POST['username']) && isset($_POST['email']) && isset($_POST['message'])){
$username = $_POST['username'];
$email = $_POST['email'];
$message = $_POST['message'];
$db_host = "localhost";
$db_user = "alekspvn"; // Логин БД
$db_password = "123"; // Пароль БД
$db_table = "book"; // Имя Таблицы БД
$connect_db=mysql_connect(HOST, MYSQL_USER, MYSQL_PASS)
or die("No connection with SQL");
mysql_select_db("guests_db",$connect_db);
mysql_query("SET NAMES 'utf8'",$connect_db);
$result = mysql_query ("INSERT INTO ".$db_table." (username,email,message) VALUES ('$username','$email','$message')");
if ($result = 'true'){
echo "Информация занесена в базу данных";
}else{
echo "Информация не занесена в базу данных";
}
}
}
print_r ($_SESSION["captcha"]);
Переменная в которой формируется проверочный код $_SESSION["captcha"]
и файл capcha.php у меня нигде не подключен в индексе указан путь для рисования изобрадения. Может стоит его в обработчике подключить? или эта переменная с проверочным кодом считается глобальной?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Доброе утроПросидел часа 2-3, в интернете куча примеров, но у меня не выходит
В php скрипте где каждый желающий может оставить запись, возможность это сделать только один раз в день, как убрать это ограничение?
Добрый день,пожалуйста помогите реализовать функцию на PHP, которая будет менять местами строки в бд mysql