Спустя 5 минут, 35 секунд (24.08.2012 - 00:06) inpost написал(а):
не понял задачи... Покажи входные параметры, покажи что имеем, покажи, что должно получиться на выходе.
Спустя 1 час, 21 секунда (24.08.2012 - 01:06) borntobebad написал(а):
Вобшем это капча :) Проблему решил но не совсем доволен ! Думаю есть решение попроще , выложил код ниже и попытаюсь объяснить суть его действий . Ест 5 сессий и каждая состоит из одной буквы нужно обеденить эти 5 букв в одну строку чтоб сравнить с буквами из пост формы . В данном коде я сделал так . Открыл пустой массив , запустил foreach и все запихнул в массив, потом через inplode преобразовал в одну строку и назначил этому делу переменную $result . теперь могу сравнит с переменной из пост формы , как можно еше было сделать по другому ?
session_start();
header('Content-type: text/html; charset=utf-8');
$array = array();
foreach( $_SESSION["randStr"] as $key=>$letters){
$array[] = $letters;
}
$result = implode('',$array);
echo $result;
Спустя 7 часов, 27 минут, 46 секунд (24.08.2012 - 08:34) DarkLynx написал(а):
function GetRandString()
{
$length = rand(10,15);
$num = range(0, 9);
$alf = range('a', 'z');
$_alf = range('A', 'Z');
$symbols = array_merge($num, $alf, $_alf);
shuffle($symbols);
$code_array = array_slice($symbols, 0, (int)$length);
$code = implode("", $code_array);
return $code;
}
Результат работы представляешь записываешь в сессию например $_SESSION['curCaptcha']. B просишь ввести этот код на странице. Можно наложить на картинку что бы получилась стандартная капча.
А то что у Вас сделано, это какое то шаманство, в 5 сессионных перменных хранить буквы, потом их складывать... бррр.. В итоге то все равно одно 5 буквенное слово получается.
Спустя 16 часов, 32 минуты, 19 секунд (25.08.2012 - 01:06) borntobebad написал(а):
Спасибо за то что откликнулся ! Хорошая функция:)