Капча работает, но при нажатие обновить она не обновляется, лишь при перезагрузки страницы
Вот блок с капчей
<div id="block-captcha">
<img src="/reg/reg_captcha.php" />
<input type="text" name="reg_captcha" id="reg_captcha" />
<p id="reloadcaptcha">Обновить</p>
</div>
Файл shop-script.js
$(document).ready(function(){
$("#select-sort").click(function(){
$("#sorting-list").slideToggle(200);
});
$('#block-category > ul > li > a').click(function(){
if ($(this).attr('class') != 'active'){
$('#block-category >ul > li > ul').slideUp(400);
$(this).next().slideToggle(400);
$('#block-category > ul > li > a').removeClass('active');
$(this).addClass('active');
$.cookie('select_cat', $(this).attr('id'));
}else
{
$('#block-category > ul > li > a').removeClass('active');
$('#block-category > ul > li > ul').slideUp(400);
$.cookie('select_cat', '');
}
});
if ($.cookie('select_cat') != '')
{
$('#block-category >ul > li > #'+$.cookie('select_cat')).assClass('active').next().show();
}
$('#reloadcaptcha').click(function(){
$('#block-captcha > img').attr("src","/reg/reg_captcha.php?r="+ Math.random());
});
});
Файл reg_captcha
<?php
session_start();
$width = 100; // ширина
$height = 50; // высота
$font_size = 17.5; // размер шрифта
$let_amount = 4; // количество символов капчи
$fon_let_amount = 30; // количество символов в фоне
$path_fonts = 'fonts/'; // путь до шрифта
// массив - из каких символов будет состоять капча
$letters = array('a','b','c','d','e','f','g','h','j','k','m','n','p','q','r','s','t','u','v','w','x','y','z','2','3','4','5','6','7','9');
// массив цветов
$colors = array('10','30','50','70','90','110','130','150','170','190','210');
// создаем изображение
$src = imagecreatetruecolor($width,$height);
// создаем фон
$fon = imagecolorallocate($src,255,255,255);
// заполняем этим фоном изображение
imagefill($src,0,0,$fon);
// массив шрифтов
$fonts = array();
// открываем директорию с шрифтами
$dir=opendir($path_fonts);
// считываем ширфты
while($fontName = readdir($dir)) {
// если это не текущий каталог и не дочерний
if($fontName != "." && $fontName != "..") {
// добавляем шрифт к массиву
$fonts[] = $fontName;
}
}
// закрываем директорию
closedir($dir);
// проходим в цикле от 0 - 30
for($i=0;$i<$fon_let_amount;$i++) {
// получаем случайный цвет символов
$color = imagecolorallocatealpha($src,rand(0,255),rand(0,255),rand(0,255),100);
// случайным образом выбираем шрифт
$font = $path_fonts.$fonts[rand(0,sizeof($fonts)-1)];
// случайным образом выбираем символ из массива
$letter = $letters[rand(0,sizeof($letters)-1)];
// случайным образом выбираем размер от 17.5 - 2 до 17.5 + 2
$size = rand($font_size-2,$font_size+2);
// рисуем символы
imagettftext($src,$size,rand(0,45),rand($width*0.1,$width-$width*0.1),rand($height*0.2,$height),$color,$font,$letter);
}
// проходим в цикле от 0 - 4
for($i=0;$i<$let_amount;$i++) {
// получаем случайный цвет
$color = imagecolorallocatealpha($src,$colors[rand(0,sizeof($colors)-1)],$colors[rand(0,sizeof($colors)-1)],$colors[rand(0,sizeof($colors)-1)],rand(20,40));
// получаем случайный шрифт
$font = $path_fonts.$fonts[rand(0,sizeof($fonts)-1)];
// получаем случайный символ
$letter = $letters[rand(0,sizeof($letters)-1)];
// получаем случайный размер
$size = rand($font_size*2.1-2,$font_size*2.1+2);
// расположение символа по оси х
$x = ($i+1)*$font_size + rand(4,7);
// расположение символа по оси y
$y = (($height*2)/3) + rand(0,5);
// добавляем к массиву символ
$cod[] = $letter;
// рисуем символ
imagettftext($src,$size,rand(0,15),$x,$y,$color,$font,$letter);
}
// сохраняем в сессии код из 4-х символов
$_SESSION['img_captcha'] = implode('',$cod);
// отправляем заголовок, что будет изображение gif
header ("Content-type: image/gif");
// создаем изображение gif
imagegif($src);
?>
Файл reg.php
<?php
include("include/db_connect.php");
include("functions/functions.php");
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
<link href="css/reset.css" rel="stylesheet" type="text/css" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<title>Регистрация</title>
</head>
<body>
<div id="block-body">
<?php
include("include/block-header.php");
?>
<div id="block-cont">
<form method="post" id="form_reg" action="/reg/handler_reg.php">
<p id="reg_message"></p>
<div id="block-form-reg">
<div class="form-group">
<label for="inputName">Логин</label>
<input type="text" class="form-control" name="reg_login" id="reg_login" placeholder="Введите Логин" />
</div>
<div class="form-group">
<label for="inputPass">Пароль</label>
<input type="password" class="form-control" name="reg_pass" id="reg_pass" placeholder="Введите Пароль" />
</div>
<div class="form-group">
<label for="inputEmail">Email</label>
<input type="email" class="form-control" name="reg_email" id="reg_email" placeholder="Введите Email" />
</div>
<div id="block-captcha">
<img src="/reg/reg_captcha.php?1232123" />
<input type="text" name="reg_captcha" id="reg_captcha" />
<p id="reloadcaptcha">Обновить</p>
</div>
<p align="right">
<input type="submit" class="btn btn-system" name="reg_submit" id="reg_submit" value="Регистраиця" />
</div>
</form>
</div>
<?php
include("include/block-footer.php");
?>
<script type="text/javascript" src="/js/shop-script.js"></script>
<script type="text/javascript" src="/js/jquery.form.js"></script>
<script type="text/javascript" src="/js/jquery-3.1.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script>
<script>
$("#form_reg").submit(function(event) {
event.preventDefault(); // прерываем отправку формы
var data = $('#form_reg').serialize();
$.ajax({
type: "POST",
url:"/reg/handler_reg.php",
data:data,
error:function(){
$("#reg_message").addClass("reg_mess_error").fadeIn(400).html(data);
},
beforeSend: function() {
$("#reg_message").html('Загрузка...');
},
success: function(html){
$("#block-form-reg").fadeOut(300);
$("#reg_message").addClass("reg_mess_good").fadeIn(400).html(html);
}
});
return false;
});
</script>
</body>
</html>
Важна правильная последовательность подключения библиотек:
<script src="/js/jquery-3.1.1.min.js" type="text/javascript"></script>
<script src="/js/jquery.cookie.min.js" type="text/javascript"></script>
<script src="/js/jquery.form.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script>
<script src="/js/shop-script.js" type="text/javascript"></script>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем привет! Нужно не столько решение, сколько подсказкаКак получить индекс объекта в массиве типа - [1, 2, 3, 4] - понятно
Всем приветКак изменить HTML внутри div span span на чистом JavaScript? делаю пока так
Подскажите пожалуйста как на javascript реализовать дерево ссылокНапример есть такой массив
Когда вывожу элементы подмассива в ячейки таблицы через цикл for, то первым выводится undefined, а потом уже все элементы: undefined Hello world Phrase 23 qwerty...