У меня проблема. Я новичок в PHP и пытаюсь закодировать функцию эха для формы информации о продукте.
ФОРМА, ИСПОЛЬЗУЕМАЯ ДЛЯ: Эта форма используется как средство для сбора входных текстовых и флажковых данных и эхо файла на другую.php-страницу, чтобы она могла отображать/отображать те же собранные данные формы в form action="grid-maker.php"
страницы с предопределенным содержимым html, по существу создающим конечный результат, который представляет собой блок сетки информации о компонентах типа pinterest, который отображает в нем img, название продукта, описание, цену и т.д.,...
ПРОБЛЕМА
Я использую простой <?php echo $_GET['']?>
Чтобы получить такие вещи, как имя, цена, описание... это было легко, трудная часть для меня пытается использовать эту функцию эха для доставки содержимого html который изменяется в цвете и заполняется с помощью input="" label="" div class=""
с использованием отмеченных флажков, пример кода показан ниже.
<div class="checkbox-purple">
<input type="checkbox" name="Color:_Purple" id="sku0001-purple" value="Yes">
<label for="sku0001-purple"></label>
</div>
<div class="checkbox-orange">
<input type="checkbox" name="Color:_Orange" id="sku0001-orange" value="Yes">
<label for="sku0001-orange"></label>
</div>
</code>
Этот тип html - это то, что я хочу отправить на новую.php-страницу каждый раз, когда установлен флажок, но все мои попытки потерпели неудачу.
Я попробовал это первым:
<?php if(isset($GET['Color:_Purple']) && $GET['Color:_Purple'] == 'Yes') { echo "<div class='checkbox-purple'><input type='checkbox' name='Color:_Purple' id='sku0001-purple' value='Yes' class='SKU0001_adjust'><label for='sku0001-purple'></label></div>"; }?>
это не сработало для меня, я разместил этот код так же, как между div, который я хотел бы отобразить на странице product-maker.php, но он не появился.
После того, как много новичков возилось, как я пришел к этому
<?php echo "<div class='checkbox-purple'><input type='checkbox' name='Color:_Purple' id='<echo $_GET['sku']-purple' value='Yes' class='<echo $_GET['sku']_adjust'><label for='echo $_GET['sku']-purple'></label></div>"; ?>
это действительно работало при инъекции кода на страницу, но оно не было прикреплено к флажку, и я не уверен в этих одиночных цитатах внутри div и прочее, не уверен, как это повлияет на функции эха, размещенные внутри.
Я пробовал много других методов, которые я потерял. Все рекомендации будут полезны, и полу-подробные инструкции будут оценены, поскольку я новичок в PHP.
Всем спасибо.
Вы не можете получить доступ к элементу массива в такой строке. PHP хорош, но не понимает ваш код.
Попробуйте это вместо этого. Обратите внимание, что $ _GET ['sku'] теперь завернут в фигурные скобки {$ _GET ['sku']}
echo "<div class=\"checkbox-purple\"><input type=\"checkbox\" name=\"Color:_Purple\" id=\"{$_GET['sku']}-purple\" value=\"Yes\" class=\"{$_GET['sku']}_adjust\"><label for=\"{$_GET['sku']}-purple\"></label></div>";
echo " \"quoted text will still print quotation marks\" ";
htmlspecialchars()
. Любой пользовательский ввод, который получает выходные данные без какой-либо дезинфекции / экранирования, является уязвимостью XSS.