вот код генерации
session_start();
$string = '';
for ($i = 0; $i < 5; $i++) {
$string .= chr(rand(97, 122));
}
$_SESSION['random_number'] = $string;
$dir = 'fonts/';
$image = imagecreatetruecolor(165, 50);
// random number 1 or 2
$num = rand(1,2);
if($num==1)
{
$font = "Capture it 2.ttf"; // font style
}
else
{
$font = "Molot.otf";// font style
}
// random number 1 or 2
$num2 = rand(1,2);
if($num2==1)
{
$color = imagecolorallocate($image, 113, 193, 217);// color
}
else
{
$color = imagecolorallocate($image, 163, 197, 82);// color
}
$white = imagecolorallocate($image, 255, 255, 255); // background color white
imagefilledrectangle($image,0,0,399,99,$white);
imagettftext ($image, 30, 0, 10, 40, $color, $dir.$font, $_SESSION['random_number']);
header("Content-type: image/png");
imagepng($image);
Затем проверка правильности кода
session_start();
if (!isset($_SESSION['random_number']))
{
echo 1;
} else {
echo 0;};
?>
И собственно скрипт который запускает проверку при нажатии кнопки
$(document).ready(function() {
$('#Send').click(function() {
$.post("post.php?"+$("#MYFORM").serialize(), {
}, function(response){
if(response==1)
{
$("#after_submit").html('');
$("#Send").after('<label class="success" id="after_submit">Your message has been submitted.</label>');
change_captcha();
}
else
{
$("#after_submit").html('');
$("#Send").after('<label class="error" id="after_submit">Error ! invalid captcha code .</label>');
}
});
return false;
});
// refresh captcha
$('img#refresh').click(function() {
change_captcha();
});
function change_captcha()
{
document.getElementById('captcha').src="get_captcha.php?rnd=" + Math.random();
}
function clear_form()
{
$("#name").val('');
$("#email").val('');
$("#message").val('');
}
});
Спустя 13 минут, 26 секунд (18.03.2012 - 16:15) GET написал(а):
А что 1 пишет? Если нет, то попробуй вместо echo 0; поставь echo $_SESSION['random_number']; сто будет писать?
по идее session_start(); достаточно только на главной прописать если остальные к ней инклюдами цепляются.
Может скрипт с генерацией повторно как-то запускается?
по идее session_start(); достаточно только на главной прописать если остальные к ней инклюдами цепляются.
Может скрипт с генерацией повторно как-то запускается?
Спустя 2 минуты, 2 секунды (18.03.2012 - 16:17) kss написал(а):
я вывел сессию и получил что изображение отличается от того. что есть на самом деле
Спустя 5 минут, 17 секунд (18.03.2012 - 16:22) Visman написал(а):
session_start();
if (!isset($_SESSION['random_number']))
{
echo 1;
} else {
echo 0;};
?>
Это ни как не тянет на проверку правильности кода.
Спустя 5 минут, 33 секунды (18.03.2012 - 16:28) kss написал(а):
Цитата (Visman @ 18.03.2012 - 13:22) |
session_start(); Это ни как не тянет на проверку правильности кода. |
Как это не тянет? Точно такая же проверка сессии у меня в скрипте регистрации стоит и все работает
Спустя 1 минута, 40 секунд (18.03.2012 - 16:29) GET написал(а):
т.е. сессия - код есть, но не совпадает, как - то было у меня чо-то подобное...помоему оказалось, что показывает предидущую сессию т.е. предидущего изображения
Как это не тянет? Точно такая же проверка сессии у меня в скрипте регистрации стоит и все работает
если эта вся проверка то это конечно не тянет я решил это упрощенный вариант у тебя просто...
Как это не тянет? Точно такая же проверка сессии у меня в скрипте регистрации стоит и все работает
если эта вся проверка то это конечно не тянет я решил это упрощенный вариант у тебя просто...
Спустя 2 минуты, 32 секунды (18.03.2012 - 16:32) kss написал(а):
Ну а почему же в скрипте авторизации такая проверка пашет?
Спустя 1 минута, 52 секунды (18.03.2012 - 16:34) GET написал(а):
а где сверка с тем, что юзер ввел?
Спустя 1 минута, 55 секунд (18.03.2012 - 16:36) Visman написал(а):
Цитата (kss @ 18.03.2012 - 21:28) |
Точно такая же проверка сессии у меня в скрипте регистрации стоит и все работает |
Угу. В $_SESSION['random_number'] что записано? Текст с картинки?
Ты его сверил с тем, что юзер ввел?
Или простое существование переменной $_SESSION['random_number'] уже приравнивается к тексту с картинки?
Спустя 5 минут, 16 секунд (18.03.2012 - 16:41) kss написал(а):
if(@$_REQUEST['code'] || @strtolower($_REQUEST['code']) == strtolower($_SESSION['random_number']))
{
// insert your name , email and text message to your table in db
echo 1;// submitted
}
else
{
echo 0; // invalid code
}
{
// insert your name , email and text message to your table in db
echo 1;// submitted
}
else
{
echo 0; // invalid code
}
Спустя 1 минута, 23 секунды (18.03.2012 - 16:42) kss написал(а):
Ребята не пашет сам код java, потому что я уже ввел вместо условия проверки просто echo 1 - НЕ ПАШЕТ
Спустя 1 минута, 52 секунды (18.03.2012 - 16:44) kss написал(а):
Ладно, решу пробЛЕМУ СООБЩУ! Еще вся ночь впереди
Спустя 1 час, 26 минут, 50 секунд (18.03.2012 - 18:11) kss написал(а):
Забил, Прочитал на английском форуме что она не работает. Скачаю другую. Не секу в Java, проблема в том что он как-то не так передают данные в php