@nikolay_akhmetyanov
Front-end developer

Где ошибка php foreach?

<?if (count($arResult["ERRORS"]) > 0)
	foreach ($arResult["ERRORS"] as $key => $error) 
		if (intval($key) == 0 && $key !== 0):?>
			<div class="alert alert-danger" role="alert">
		<?$arResult["ERRORS"][$key] = str_replace("#FIELD_NAME#", "&quot;".GetMessage("REGISTER_FIELD_".$key)."&quot;", $error);
			ShowError(implode("<br />", $arResult["ERRORS"]));
		?>
	</div>
		<?elseif($arResult["USE_EMAIL_CONFIRMATION"] === "Y"):?>
			<p><?echo GetMessage("REGISTER_EMAIL_WILL_BE_SENT")?></p>
<?endif?>

Сейчас так : 5b16a4a5a1aa3388597965.png
Нужно, что бы каждая ошибка была в отдельном блоке alert
  • Вопрос задан
  • 284 просмотра
Решения вопроса 1
IceRD
@IceRD
Нужно, что бы каждая ошибка была в отдельном блоке alert

Попробуйте перебирая массив $arResult["ERRORS"] не пихать в него же данные и после, эту кучу выводить при каждом обороте "ShowError();" на экран.
Правильнее выводить сразу
<div class="alert alert-danger" role="alert">
<?echo str_replace("#FIELD_NAME#", "&quot;".GetMessage("REGISTER_FIELD_".$key)."&quot;", $error);?>
</div>

либо, в цикле вносить в отдельную переменную / добавлять в текущую, а после цикла выводить на экран вашей функцией ShowError();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
kimono
@kimono
Web developer
У вас не закрытые конструкции if и foreach.
<?php if (count($arResult["ERRORS"]) > 0) : ?>
    <?php foreach ($arResult["ERRORS"] as $key => $error) : ?>
        <?php if (intval($key) == 0 && $key !== 0) : ?>
            <div class="alert alert-danger" role="alert">
            <?php
                $arResult["ERRORS"][$key] = str_replace("#FIELD_NAME#", "&quot;".GetMessage("REGISTER_FIELD_".$key)."&quot;", $error);
                ShowError(implode("<br />", $arResult["ERRORS"]));
            ?>
            </div>
        <?php elseif ($arResult["USE_EMAIL_CONFIRMATION"] === "Y") : ?>
            <p><?php echo GetMessage("REGISTER_EMAIL_WILL_BE_SENT") ?></p>
        <?php endif; ?>    
    <?php endforeach; ?>
<?php endif ?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы