html 发布代码到数组不起作用,正常发布为数组中的单个值是可能的

问题描述 投票:0回答:1

抱歉,但我是编程新手,所以也许我的解释不符合预期,但总是在学习:


我的 html 帖子通过:

<form action="\files\timer-settings.php" method="post" name="my_location">

正常情况下正在我的网站上使用我的 php 脚本。

现在如果我想在数组中发布“我认为它可能是多维的?”它不再可能了。 所以我的问题是 name=isha_rule 和 isha_value

的值

这是我的 html 代码:

      <input type="input" min="0" class="form-control" name="isha_value" id="isha_value" 
                readonly      value="">
      <input type="radio" name="isha_rule" id="isha_rule_0" checked value="1"> 
            
       <input type="radio" name="isha_rule" id="isha_rule_1"  value="1"> 

这是我的 php 代码,我想插入 html 提取

/**
     * Rules for calculation 0 -> angle, 1-> minutes
     *
     * @var array
     */
    public $fajir_rule      = array(0, 15);
    public $maghrib_rule    = array(1, 0);
    public $isha_rule       = array(0, 15);

当然我认为这是多维数组的问题

但始终保持在包含的价值。在 PHP 脚本中

所以到目前为止我所做的 html 输入表单上有很多值

<div class="form-group">
     <label>  
              <?php echo $langArray['Ishaa_Rule']; ?>
    </label>
       <div class="input-group">
              <input type="input" min="0" class="form-control" name="isha_value" id="isha_value" readonly value="">
           <span class="input-group-addon" style="width:60%">
             <input type="radio" name="isha_rule" id="isha_rule_0" checked value="1"> 
                <?php echo $langArray['Angle']; ?> &nbsp;
      <input type="radio" name="isha_rule" id="isha_rule_1"  value="1"> 
                <?php echo $langArray['Minute']; ?>                                  
           </span>

via //$decoder 只是从我存储所有数组代码的文件中导入的 json

//$settings->isha_rule   =$decoder->{"isha_value"};

成为

    /**
     * Rules for calculation 0 -> angle, 1-> minutes
     *
     * @var array
     */
    public $fajir_rule      = array(0, 15);
    public $maghrib_rule    = array(1, 0);
    public $isha_rule       = array(0, 15);

我已经完成了 =array("","") 或 ([],[]) 并进行了实验,但没有任何改变。

但它总是固定在 15 处,通常我放在 html 侧 12 中,但它从未改变。 如果我手动更改设置:

 public $isha_rule       = array(0, 15);

到 12 代码工作正常并进行计算。

当然我认为这是多维数组的问题,无法从 html 帖子中获取值

这是 $_POST 的转储

|        [fajir_value] => String(2)  "12"
|        [fajir_rule] => String(1)  "0"
|        [maghrib_value] => String(1)  "0"
|        [maghrib_rule] => String(1)  "1"
|        [isha_value] => String(2)  "12"
|        [isha_rule] => String(1)  "1"

$settings 的转储包括 -> fajir_rule、maghrib_rule、isha_rule、var

   [fajir_rule] => Array(2)
|        |        
|        |        [0] => Integer(1)  0
|        |        [1] => Integer(2)  15
|        |        

|        [maghrib_rule] => Array(2)
|        |        
|        |        [0] => Integer(1)  1
|        |        [1] => Integer(1)  0
|        |        

|        [isha_rule] => Array(2)
|        |        
|        |        [0] => Integer(1)  0
|        |        [1] => Integer(2)  15
|        |        

所以我想要 html method="post" // =12 中的 isha_value 覆盖 $settings -> isha_rule 中的值 //is 15 必须是 12

如果需要的话,这里是所涉及的整个代码:

<div class="input-group">
                                    <input type="input" min="0" class="form-control" name="isha_value" id="isha_value" readonly value="15">
                                    <span class="input-group-addon" style="width:60%">
                                    <input type="radio" name="isha_rule" id="isha_rule_0" checked value="1"> <?php echo $langArray['Angle']; ?> &nbsp;
                                    <input type="radio" name="isha_rule" id="isha_rule_1"  value="1"> <?php echo $langArray['Minute']; ?>                                   </span>
$settings->isha_rule   =$decoder->{"fajir_value"};

    /**
     * Rules for calculation 0 -> angle, 1-> minutes
     *
     * @var array
     */
    public $fajir_rule      = array(0, 15);
    public $maghrib_rule    = array(1, 0);
    public $isha_rule       = array(0, 15);
 /**
     * Setup the object
     *
     * @param Settings $settings
     */
    public function __construct(Settings $settings)
    {
        $this->settings = $settings;
        $this->calcMethod = $this->settings->method;

        $this->methodParams = array(
            $this->settings->fajir_rule[1],

            $this->settings->maghrib_rule[0],
            $this->settings->maghrib_rule[1],

            $this->settings->isha_rule[0],
            $this->settings->isha_rule[1]
        );

        $this->asrJuristic = $this->settings->juristic;

        $this->lat = $this->settings->latitude;
        $this->lng = $this->settings->longitude;
        $this->adjustHighLats = $this->settings->high_latitude;
        $this->timeFormat = $this->settings->time_format;
    }
javascript php html arrays multidimensional-array
1个回答
0
投票

要通过 HTML 表单发送数据数组,您可以在输入字段名称末尾使用方括号 [] 来命名输入字段。这告诉服务器将这些输入视为数组。但是,在单选按钮或单个输入字段(如您所显示的那样)的上下文中,每个输入代表单个数据而不是数组。

如果您要使用复选框进行多项选择(不直接适用于单选按钮场景,但对于理解表单中的数组很有用):

<input type="checkbox" name="isha_options[]" value="Option 1">
<input type="checkbox" name="isha_options[]" value="Option 2">
<input type="checkbox" name="isha_options[]" value="Option 3">

如果您有需要将多个 isha_value 输入作为数组发送的场景:

<input type="input" name="isha_values[]" value="Value 1">
<input type="input" name="isha_values[]" value="Value 2">
<input type="input" name="isha_values[]" value="Value 3">
© www.soinside.com 2019 - 2024. All rights reserved.