×

Вокруг мира Крымфакты и мирпро сссрТайны историитурцияПетербург и окрестностиСтрашное и мистическоеВыборгОбщество, миртунис
Интересно уроки по html,css,js,phpМистика и ГаданияАнекдотыМузыка
Исскуство и поэзия БасниПритчиЯпонские стихи и прозаСтихи Золотого векаСтихи Серебренного векаМифы и Легенды древнего мира
Разные эпохи Древняя АзияТайны историиСредневековьеСказки народов мирапро ссср
Разное ОригамиРаскраскиСтрашное и мистическоеКонвертерыКомедия "Дино и его друзья"
общество и мир факты и мирАфоризмы и цитатыОбщество, мирПсихология

-----------

Вашему сайту нужна помощь? Политика конфидициальности Разместить рекламу

Защита сайта от СПАМА. проверка в форме.


защита, спам, форма, сайт, php, js, css, sql, проверка, отправка,

С каждым годом спамные роботы становятся всё умнее и умнее. Они уже научились понимать текст, понимать что изображено на картинке, складывать числа и прочее.
Но главное, что не умеют роботы - разгадывать загадки и отвечать на вопросы человека :)
Именно такой пример защитника форм от спам-ботов я и хочу сегодня показать.

Для начала нужно создать простую форму и поле с именем proverka.

<form method="POST" action="page.php" >
<input style="width:90%"name="ty" placeholder="как тебя зовут?"id="name1" type="text" /><br />
<br><br>Какие ты знаешь числа до десяти? (проверка на бота)
<br><input style="width:60%"name="proverka" style="width:90%" placeholder="например: 8" type="text" /><br ><br >
<input style="width:90%"type = 'submit' name = 'submit' value= 'готово!' class="button" />
</form>


После того как посетитель сайта нажмет кнопку ГОТОВО. Будет обрабатываться следующий запрос:
0. Присваиваем переменные отправленным данным из формы
1. идет подключение к БД.
2. идет обработка на правильность введенных данных (проверка на число).
Если число введено неверно, то выйдет надпись с просьбой повторить ввод.
Если число меньше 10, то введенные в форму данные (а именно поле name1, где пользователь вводил свое имя) будет отправленно в базу данных.

<?php
$n = $_POST['name1'];
$proverka = $_POST['proverka'];
//присваивание переменных отправленным данным из формы, методом POST
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "";
// подключение к бд
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Ошибка: " . mysqli_connect_error());
}

$sql = ("INSERT INTO table (name) VALUES ('$n')"); // $n - двнные из поля name1, где вводится имя. $proverka отправлять в базу данных не нужно.

//наало проверки на число начинается тут
if ($proverka > "10"){ //вот сам код проверки. если число больше десяти, то выводится ошибка.
echo "число больше десяти. ошибочка. повтори опять";
} elseif (mysqli_query($conn, $sql)) //если данные ведены верно, то идет подклюение к бд и отпрвка данных, через mysqli .
{
echo "<font color='green'>Ваше сообщение добавлено :)</font><br>";
}
//конец проверки заканчивается именно тут
else {
echo "Ошибка: Попробуй ещё раз" . mysqli_error($conn);
}

mysqli_close($conn);
?>


Вот простой пример проверки. Если вам не нравиться число десять, то можете подставить другое число. Можете на базе этого кода даже создать проверку на кодовое слово. Например: "ехал грека через реку, видит грека в реке ...." и пропущенное слово будет ключом, которое должен будет ввести пользователь.


Комментарии

Комментариев пока нет. Оставь тут свой комментарий или анекдот!


Комментарии к посту






Будущее нации в руках матерей.

Оноре де Бальзак


Norway
Объем заполненного мочевого пузыря составляет в среднем 400 миллилитров, хотя некоторые люди способны “терпеть” до объема в один литр.

[ Интересные факты о мире ]






Как разместить несколько блоков css? (разные варианты)
Модальное окно на css. Что это такое и как сделать?
Выборг Крым Петербург и окрестности факты и мир тунис Страшное и мистическое про ссср Тайны истории турция Общество, мир






×

Рассказы из категории: Создание сайта (html,css,php,js)