×

Вокруг мира турцияОбщество, мирпро сссрВыборгПоследние новостифакты и мирКрымТайны историиПетербург и окрестностиСтрашное и мистическоетунис
Интересно Мистика и Гаданияуроки по 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
Нервные импульсы в человеческом теле перемещаются со скоростью примерно 90 метров в секунду.

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






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






×

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