Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.10.2015, 18:18
Аспирант
Отправить личное сообщение для steepfox Посмотреть профиль Найти все сообщения от steepfox
 
Регистрация: 24.02.2011
Сообщений: 66

Создание капчи
Здравствуйте. Есть такой вот код:
<?php

$mas_data_kapcha=array(

//array("вопрос","ответ"),
array("3*9=?","27"),
array("90-5=?","85"),
array("100-5=?","95"),
array("1+6=?","7"),
array("52+3=?","55"),
array("11-1=?","10"),
array('Введите 5 символов +',"+++++"),
array('Введите 4 символа *',"****"),
array("пять плюс пять =?","10"),
array("10 плюс 10 = ?","20"),
array("Сколько будет 3 умножить на 5?","15"),
array("Сложите 5 да 10. Сколько получится?","15"),
array("5 плюс 30 = ?","35")

//"114"=>array("",""),

);


Помогите, пожалуйста сделать нормальную капчу. Необходимо, чтобы символы формировались следующим образом:
$chars = 'abdefhknrstyz23456789';

Далее, задать длину символов, которые будут отображаться:
$length = rand(4, 7);


$mas_data_kapcha прописан во всех файлах движка, поэтому его изменять нельзя. Помогите, кто чем сможет.
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2015, 18:47
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

И каким образом $mas_data_kapcha связан с $chars?
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2015, 18:48
Аспирант
Отправить личное сообщение для steepfox Посмотреть профиль Найти все сообщения от steepfox
 
Регистрация: 24.02.2011
Сообщений: 66

он не связан, просто привел как пример.
Ответить с цитированием
  #4 (permalink)  
Старый 01.10.2015, 18:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Пример чего? К чему тогда массив описанный? Что вам надо, получить из строки случайный набор символов от 4 до 7?
Ответить с цитированием
  #5 (permalink)  
Старый 01.10.2015, 18:56
Аспирант
Отправить личное сообщение для steepfox Посмотреть профиль Найти все сообщения от steepfox
 
Регистрация: 24.02.2011
Сообщений: 66

Если быть точным, то нужно, чтобы ниже приведенный код формировался произвольно. Сейчас капча показывает только определенный набор вопросов, нужно, чтобы показывались исключительно данные символы: "abdefhknrstyz23456789" в определенном порядке по 5 символов.


<?php

$mas_data_kapcha=array(

//array("вопрос","ответ"),
array("3*9=?","27"),
array("90-5=?","85"),
array("100-5=?","95"),
array("1+6=?","7"),
array("52+3=?","55"),
array("11-1=?","10"),
array('Введите 5 символов +',"+++++"),
array('Введите 4 символа *',"****"),
array("пять плюс пять =?","10"),
array("10 плюс 10 = ?","20"),
array("Сколько будет 3 умножить на 5?","15"),
array("Сложите 5 да 10. Сколько получится?","15"),
array("5 плюс 30 = ?","35")

//"114"=>array("",""),

);
Ответить с цитированием
  #6 (permalink)  
Старый 01.10.2015, 19:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от steepfox
Если быть точным, то нужно, чтобы ниже приведенный код формировался произвольно. Сейчас капча показывает только определенный набор вопросов, нужно, чтобы показывались исключительно данные символы: "abdefhknrstyz23456789" в определенном порядке по 5 символов.
И как это понять?

Во-первых, причем тут Javascript? Во-вторых о каких символах идет речь и причем тут этот массив тогда?

Если нужно взять из этого массива случайный его элемент, так это получить случайный индекс этого массива, по которому и получить искомое - $mas_data_kapcha[rand[0, count($mas_data_kapcha)-1]].
Ответить с цитированием
  #7 (permalink)  
Старый 01.10.2015, 19:15
Аспирант
Отправить личное сообщение для steepfox Посмотреть профиль Найти все сообщения от steepfox
 
Регистрация: 24.02.2011
Сообщений: 66

Здесь в основном php. Нужно, чтобы вместо этого:

array("3*9=?","27"),
array("90-5=?","85"),
array("100-5=?","95"),
array("1+6=?","7"),
array("52+3=?","55"),
array("11-1=?","10"),
array('Введите 5 символов +',"+++++"),
array('Введите 4 символа *',"****"),
array("пять плюс пять =?","10"),
array("10 плюс 10 = ?","20"),
array("Сколько будет 3 умножить на 5?","15"),
array("Сложите 5 да 10. Сколько получится?","15"),
array("5 плюс 30 = ?","35")



выскакивали другие вопросы, на подобии этого:

"abdefhknrstyz23456789"
Ответить с цитированием
  #8 (permalink)  
Старый 01.10.2015, 19:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

А если вместо этого, то зачем приводите массив и задаете туманные вопросы? Вам же задан был вопрос - "надо из строки сформировать случайную последовательность?", и вместо ответа опять прострации с массивом ...

$mas_data_kapcha = substr(str_shuffle('abdefhknrstyz23456789'), 0, rand(4, 7))
Ответить с цитированием
  #9 (permalink)  
Старый 01.10.2015, 19:40
Аспирант
Отправить личное сообщение для steepfox Посмотреть профиль Найти все сообщения от steepfox
 
Регистрация: 24.02.2011
Сообщений: 66

С программированием у меня всегда было туго, извините, что объясняю туманно)

А как эту строчку установить?

$rand = substr(str_shuffle('abdefhknrstyz23456789'), 0, rand(4, 7))
Ответить с цитированием
  #10 (permalink)  
Старый 01.10.2015, 19:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Как понять установить? Замените массив на это выражение, вот и все.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание JS конструктора sheckler Работа 2 25.05.2015 21:24
Создание Конструктора sheckler Элементы интерфейса 1 25.05.2015 12:02
Создание своей библиотеки. Создание двух одинаковых объектов. Как избежать? IDCh Javascript под браузер 2 31.10.2012 12:53
php + javascript, проверка капчи zhuzha Общие вопросы Javascript 10 02.06.2010 13:30
создание капчи VICTOR_81 jQuery 1 31.03.2009 15:19