Сегодня наступил на такие грабли...
На одной странице расположена два компонента (с капчей) iblock.element.add.form.
Соответственно, если сабмитить форму со второго компонента - то код капчи не проходит валидацию.
Пришлось сделать следующее:
На одной странице расположена два компонента (с капчей) iblock.element.add.form.
Соответственно, если сабмитить форму со второго компонента - то код капчи не проходит валидацию.
Пришлось сделать следующее:
- Перенес компонент iblock.element.add.form в папку со своими компонентами.
- Добавил для компонента новый параметр $arParams["PREFIX"]
- В файлах шаблона к именам input добавил
<input type="hidden" name="<?=$arParams["PREFIX"]?>captcha_sid" value="<?=$arResult["CAPTCHA_CODE"]?>" /> <input type="text" name="<?=$arParams["PREFIX"]?>captcha_word" /> <input type="submit" name="<?=$arParams["PREFIX"]?>iblock_submit" value="<?=GetMessage("IBLOCK_FORM_SUBMIT")?>" />
- В файле component.php, так же добавил данный параметр для:
$_REQUEST[$arParams["PREFIX"]."iblock_submit"] $_REQUEST[$arParams["PREFIX"]."captcha_word"] $_REQUEST[$arParams["PREFIX"]."captcha_sid"]