![]() |
Циклы при GD
Через циклы заношу рандомные данные в общую переменную, для того, чтобы поместить их в сессию. Но почему то после цикла (и for, и foreach) переменная $rand чтоли как-то "унсетится", т.е. "удаляется" чтоли... и естественно картинка не отображается. Что не так?
PHP код:
|
А ты её объяви до циклов, типа
$rand = array(); |
если пустые квадратные скобки - php автоматически создаёт массив, т.е., если без циклов, то всё отлично работает.
п.с. на всякий случай попробовал. безуспешно... |
2Chaak
=)))))) 2Ru}{eeZ ... генерируешь случайную или псевдослучайную последовательность $rc1, запоминаешь его в сессию и выводишь её в капчу Цитата:
а на странице выводишь <img src="./путь_к_файлу/kapcha.php"> |
Ru}{eeZ По вопросу - ты не забыл объявить не пустой массив (или строку?) $abc из которого собственно и берешь значения?
З.Ы. чую на одну и ту же капчу, можно будет регаться сколько угодно раз, судя по такому коду |
2Gifts
смотря какую случайную последовательность выводить будешь! к примеру если последовательность задается рандомом Цитата:
то на одну и ту же капчу попасть очень сложно =)))) а для пущей сложности можно цифры повертеть, добавить буквы или логику с арифметикой... |
Цитата:
Цитата:
------------------ Рельно использовать разные шрифты / бэкграунды / искажения / фильтры резкости. Если проект маленький, то зачем выдумывать сложную капчу со всякими там искажениями и прочими извращениями? Достаточно установить уже готовый скрипт: Цитата:
Цитата:
|
Цитата:
PHP код:
|
2ChaaK
я в курсе! спасибо. и полностью поддерживаю что проще пользоваться фреймвёрками! однако: Цитата:
а про логику с арифметикой: пример сгенери боту капчу Цитата:
и пускай хоть обчитается и обсчитается! |
вернёмся к вопросу...
если написать: for($i = 0; $i < 6; $i++) $fullRand = $rand[$i]; без точки, то естественно с каждым разом переменная $fullRand будет просто получать новые данные, но тогда всё работает, т.е. будет браться только последняя буква из капчи, а нужно, что бы всё буквы брались и заносились в одну переменную, для того, чтобы записать их в сессию. Это срабатывает, НО! Капча не выводится т.к. до неё не доходит $fullRand. Ну и вот вам в общем капча, чтобы не разбегались в догадках... PHP код:
|
| Время: 17:06 |