用PHP读取HTML5输入(键入颜色)值

用PHP读取HTML5输入(键入颜色)值,php,html,wordpress,Php,Html,Wordpress,我在WordPress中创建了我的第一个主题,并添加了一个主题设置页面,其中我使用HTML5类型颜色的输入字段,以允许主题用户选择页面上元素的颜色 输入类型呈现和工作正常,但在“主题选项”页面上,我希望它在色样/输入字段旁边显示十六进制值的文本字符串,例如FFFFFF或31A1FF或当前选择的任何颜色。这部分不起作用。我对PHP相当陌生,所以我可能只是做错了什么。但我认为读取输入字段的value属性是可行的。它不是——它根本不显示任何文本 下面是我正在使用的代码。有人能帮我指出正确的方向吗 最终

我在WordPress中创建了我的第一个主题,并添加了一个主题设置页面,其中我使用HTML5类型颜色的输入字段,以允许主题用户选择页面上元素的颜色

输入类型呈现和工作正常,但在“主题选项”页面上,我希望它在色样/输入字段旁边显示十六进制值的文本字符串,例如FFFFFF或31A1FF或当前选择的任何颜色。这部分不起作用。我对PHP相当陌生,所以我可能只是做错了什么。但我认为读取输入字段的value属性是可行的。它不是——它根本不显示任何文本

下面是我正在使用的代码。有人能帮我指出正确的方向吗

最终,我希望对用于其他设置的其他输入类型(例如用于不透明度/透明度值的滑块输入)执行相同的操作。但这是我的出发点,我可以继续这一点,其他的可能不难理解

function fp_Field_BackgroundColor () {
    $options = get_option('fp-OptionsArray');
    echo "<input id='fp_BackgroundColor' name='fp-OptionsArray[BackgroundColor]' type='color' value='{$options['BackgroundColor']}' />";
    echo "<div float='left'>" . $_POST['fp_BackgroundColor.value'] . "</div>";
}

不要将名称作为数组。将其作为简单变量

   <input type='color' id='fp_BackgroundColor' name='fp-BackgroundColor' type='color' value='<?php if(isset($_POST['submit'])){echo $fp-BackgroundColor;} ?>' />

还有一件小鬼的事。。。。您必须指定输入“type”

不要将name作为数组。将其作为简单变量

   <input type='color' id='fp_BackgroundColor' name='fp-BackgroundColor' type='color' value='<?php if(isset($_POST['submit'])){echo $fp-BackgroundColor;} ?>' />
还有一件小鬼的事。。。。您必须在HTML5部件上指定输入“类型”:

  <form action="" method="post">
     Select you favorite color:
     <input name="clr" type="color">

     <input type="submit" name="submit">
 </form>
在php方面:

      <?php 
         if(isset($_POST['clr']))
           $selected_color= $_POST['clr'];

         // To show Hexadecimal code of the selected color 
         echo "Color code is:  " . $selected_color;
      ?>
若要在表单提交后保留所选颜色,请将提交给服务器的颜色重新分配到输入表单的“值”属性中。i、 e颜色类型的输入如下所示:

   <input name="clr" type="color" value="<?= htmlspecialchars($_POST['clr']) ?>"> 
在HTML5方面:

  <form action="" method="post">
     Select you favorite color:
     <input name="clr" type="color">

     <input type="submit" name="submit">
 </form>
在php方面:

      <?php 
         if(isset($_POST['clr']))
           $selected_color= $_POST['clr'];

         // To show Hexadecimal code of the selected color 
         echo "Color code is:  " . $selected_color;
      ?>
若要在表单提交后保留所选颜色,请将提交给服务器的颜色重新分配到输入表单的“值”属性中。i、 e颜色类型的输入如下所示:

   <input name="clr" type="color" value="<?= htmlspecialchars($_POST['clr']) ?>"> 

变量名中不能有连字符$背景色;这是无效的。变量名中不能有连字符$背景色;这是无效的。我不建议像那样将$\u POST中的值回显到HTML中,否则+1$选定的颜色也可以有一个默认值作为依据。这个值就像一个符咒。唯一的一件事是,如果有人按原样复制,那么他们可能会看到一个未定义的语句$selected color-因此对此进行了一个小更改-ifisset$\u POST['clr']{$selected\u color=$\u POST['clr'];//要显示所选颜色的十六进制代码,回显颜色代码是:。$selected\u color;}我不建议像那样将$\u POST中的值回显到HTML中,否则+1$选定的颜色也可以有一个默认值作为依据。这个值就像一个符咒。唯一的一件事是,如果有人按原样复制,那么他们可能会看到一个未定义的语句$selected color-因此对此进行了一个小更改-ifisset$\u POST['clr']{$selected\u color=$\u POST['clr'];//要显示所选颜色的十六进制代码,回显颜色代码是:。$selected\u color;}