首頁  >  文章  >  後端開發  >  html - php怎麼接收不到select標籤下的option值

html - php怎麼接收不到select標籤下的option值

WBOY
WBOY原創
2016-10-10 11:56:231558瀏覽

php怎麼接收不到select標籤下的option值

<code><?php
//index.php
$weeks = range(1, 7);
?>
<!DOCTYPE html>
<html>
<head> 
    <meta  charset="utf-8"> 
    <title>test</title> 
</head>
<body>
<form action="request.php" method="get">


    <table border="1">
            <tr>
            <?php
                foreach ($weeks as $row)
                {
            ?>
                <td>
                    <p style="color: red;">星期<?php echo $row; ?> <b>上午</b></p>
                    <h1>第一节</h1>
                    课目
                    <select name="kemu1"/>。
                    <option value="">请选课目</option>
                    <option value="wuli">物理</option>
                    <option value="lishi">历史</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian1"/>。
                    <option value="">请选时间</option>
                    <option value="10:30">10:30</option>
                    <option value="11:00">11:00</option>
                    </select>
                    <br/>


                    <h1>第二节</h1>
                    课目
                    <select name="kemu2"/>。
                    <option value="">请选课目</option>
                    <option value="yingyu">英语</option>
                    <option value="yuwen">语文</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian2"/>。
                    <option value="">请选时间</option>
                    <option value="10:20">10:20</option>
                    <option value="11:30">11:30</option>
                    </select>
                    <br/>


                    <h1>第三节</h1>
                    课目
                    <select name="kemu3"/>。
                    <option value="">请选课目</option>
                    <option value="shuxue">数学</option>
                    <option value="shengwu">生物</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian3"/>。
                    <option value="">请选时间</option>
                    <option value="12:30">12:30</option>
                    <option value="13:00">13:00</option>
                    </select>
                    <br/>


                    <h1>第四节</h1>
                    课目
                    <select name="kemu4"/>。
                    <option value="">请选课目</option>
                    <option value="c++">C++</option>
                    <option value="php">PHP</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian4"/>。
                    <option value="">请选时间</option>
                    <option value="14:30">14:30</option>
                    <option value="15:00">15:00</option>
                    </select>
                    <br/>
                    <hr/>

                    <!--下午-->
                    <p style="color: red;">星期<?php echo $row; ?> <b>下午</b></p>

                    <h1>第五节</h1>
                    课目
                    <select name="kemu5"/>。
                    <option value="">请选课目</option>
                    <option value="IOS">IOS</option>
                    <option value="python">python</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian5"/>。
                    <option value="">请选时间</option>
                    <option value="15:40">15:40</option>
                    <option value="15:50">15:50</option>
                    </select>
                    <br/>

                    <h1>第六节</h1>
                    课目
                    <select name="kemu6"/>。
                    <option value="">请选课目</option>
                    <option value="CSS">CSS</option>
                    <option value="JS">JS</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian6"/>。
                    <option value="">请选时间</option>
                    <option value="16:30">16:30</option>
                    <option value="16:40">16:40</option>
                    </select>
                    <br/>

                    <h1>第七节</h1>
                    课目
                    <select name="kemu7"/>。
                    <option value="">请选课目</option>
                    <option value="JAVA">JAVA</option>
                    <option value="ruby">ruby</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian7"/>。
                    <option value="">请选时间</option>
                    <option value="17:30">17:30</option>
                    <option value="17:10">17:10</option>
                    </select>
                    <hr style="color: #2ECC71"/>
                    <br/>

                </td>
                <?php
                    }
                ?>
            </tr>
    </table>

    <input type="submit" value="提交">
    <hr/>

</form>
</body>
</html></code>
<code>//request.php
<?php
header("content-type:text/html;charset=utf-8");
include '../lib.php';


var_dump($_GET);
// 这里接收不到值
![图片描述][1]
// 但是url地址栏是有值的
![图片描述][2]
// 因为在html里面我嵌套了php语法,但是不使用这个foreach就能接收到值哦?
![图片描述][3]
// 我要的效果是这样的
![clipboard.png](/img/bVDKLC)
// 这是我最终想要的目的
$arr = array(
    'monday' => $_POST,
    'tuesday' => $_POST,
    'wednesday' => $_POST,
    'thursday' => $_POST,
    'friday' => $_POST,
    'saturday' => $_POST,
    'sunday' => $_POST
);
// html是这样的

![clipboard.png](/img/bVDKLV)

</code>

var_dump($_GET);
// 這裡接收不到值
html - php怎麼接收不到select標籤下的option值

// 但是url網址列是有值的
html - php怎麼接收不到select標籤下的option值
// 因為在html裡面我嵌套了php語法,但是不使用這個foreach就能接收到值哦?

html - php怎麼接收不到select標籤下的option值

// 我要的效果是這樣的,但是接收不到值哦?
html - php怎麼接收不到select標籤下的option值

// 這是我最終想要的目的
$arr = array(

<code>'monday' => $_POST,
'tuesday' => $_POST,
'wednesday' => $_POST,
'thursday' => $_POST,
'friday' => $_POST,
'saturday' => $_POST,
'sunday' => $_POST</code>

);

// html是這樣的
html - php怎麼接收不到select標籤下的option值

回覆內容:

php怎麼接收不到select標籤下的option值

<code><?php
//index.php
$weeks = range(1, 7);
?>
<!DOCTYPE html>
<html>
<head> 
    <meta  charset="utf-8"> 
    <title>test</title> 
</head>
<body>
<form action="request.php" method="get">


    <table border="1">
            <tr>
            <?php
                foreach ($weeks as $row)
                {
            ?>
                <td>
                    <p style="color: red;">星期<?php echo $row; ?> <b>上午</b></p>
                    <h1>第一节</h1>
                    课目
                    <select name="kemu1"/>。
                    <option value="">请选课目</option>
                    <option value="wuli">物理</option>
                    <option value="lishi">历史</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian1"/>。
                    <option value="">请选时间</option>
                    <option value="10:30">10:30</option>
                    <option value="11:00">11:00</option>
                    </select>
                    <br/>


                    <h1>第二节</h1>
                    课目
                    <select name="kemu2"/>。
                    <option value="">请选课目</option>
                    <option value="yingyu">英语</option>
                    <option value="yuwen">语文</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian2"/>。
                    <option value="">请选时间</option>
                    <option value="10:20">10:20</option>
                    <option value="11:30">11:30</option>
                    </select>
                    <br/>


                    <h1>第三节</h1>
                    课目
                    <select name="kemu3"/>。
                    <option value="">请选课目</option>
                    <option value="shuxue">数学</option>
                    <option value="shengwu">生物</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian3"/>。
                    <option value="">请选时间</option>
                    <option value="12:30">12:30</option>
                    <option value="13:00">13:00</option>
                    </select>
                    <br/>


                    <h1>第四节</h1>
                    课目
                    <select name="kemu4"/>。
                    <option value="">请选课目</option>
                    <option value="c++">C++</option>
                    <option value="php">PHP</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian4"/>。
                    <option value="">请选时间</option>
                    <option value="14:30">14:30</option>
                    <option value="15:00">15:00</option>
                    </select>
                    <br/>
                    <hr/>

                    <!--下午-->
                    <p style="color: red;">星期<?php echo $row; ?> <b>下午</b></p>

                    <h1>第五节</h1>
                    课目
                    <select name="kemu5"/>。
                    <option value="">请选课目</option>
                    <option value="IOS">IOS</option>
                    <option value="python">python</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian5"/>。
                    <option value="">请选时间</option>
                    <option value="15:40">15:40</option>
                    <option value="15:50">15:50</option>
                    </select>
                    <br/>

                    <h1>第六节</h1>
                    课目
                    <select name="kemu6"/>。
                    <option value="">请选课目</option>
                    <option value="CSS">CSS</option>
                    <option value="JS">JS</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian6"/>。
                    <option value="">请选时间</option>
                    <option value="16:30">16:30</option>
                    <option value="16:40">16:40</option>
                    </select>
                    <br/>

                    <h1>第七节</h1>
                    课目
                    <select name="kemu7"/>。
                    <option value="">请选课目</option>
                    <option value="JAVA">JAVA</option>
                    <option value="ruby">ruby</option>
                    </select>
                    <br/>
                    时间
                    <select name="shijian7"/>。
                    <option value="">请选时间</option>
                    <option value="17:30">17:30</option>
                    <option value="17:10">17:10</option>
                    </select>
                    <hr style="color: #2ECC71"/>
                    <br/>

                </td>
                <?php
                    }
                ?>
            </tr>
    </table>

    <input type="submit" value="提交">
    <hr/>

</form>
</body>
</html></code>
<code>//request.php
<?php
header("content-type:text/html;charset=utf-8");
include '../lib.php';


var_dump($_GET);
// 这里接收不到值
![图片描述][1]
// 但是url地址栏是有值的
![图片描述][2]
// 因为在html里面我嵌套了php语法,但是不使用这个foreach就能接收到值哦?
![图片描述][3]
// 我要的效果是这样的
![clipboard.png](/img/bVDKLC)
// 这是我最终想要的目的
$arr = array(
    'monday' => $_POST,
    'tuesday' => $_POST,
    'wednesday' => $_POST,
    'thursday' => $_POST,
    'friday' => $_POST,
    'saturday' => $_POST,
    'sunday' => $_POST
);
// html是这样的

![clipboard.png](/img/bVDKLV)

</code>

var_dump($_GET);
// 這裡接收不到值
html - php怎麼接收不到select標籤下的option值

// 但是url網址列是有值的
html - php怎麼接收不到select標籤下的option值
// 因為在html裡面我嵌套了php語法,但是不使用這個foreach就能接收到值哦?

html - php怎麼接收不到select標籤下的option值

// 我要的效果是這樣的,但是接收不到值哦?
html - php怎麼接收不到select標籤下的option值

// 這是我最終想要的目的
$arr = array(

<code>'monday' => $_POST,
'tuesday' => $_POST,
'wednesday' => $_POST,
'thursday' => $_POST,
'friday' => $_POST,
'saturday' => $_POST,
'sunday' => $_POST</code>

);

// html是這樣的
html - php怎麼接收不到select標籤下的option值

select 不要寫自閉合

謝邀。
遵循RESTful的話,傳遞資料還是用POST形式把

然後你需要取得的話,使用$_POST['key']取得即可。

取不到值的話,建議你先使用js控制台查看你的key是否是正確的,避免重複。

你$_GET為空,我沒猜錯的話,是key值重複了。為什麼呢?

html - php怎麼接收不到select標籤下的option值
你看,foreach是遍歷到最後了,你取到的肯定是空的了最後。

所以,結論是:

<code>检查一下你的key值,避免重复。</code>

這麼明顯的錯誤,當你用foreach的時候,HTML頁類似kemu1這樣的name一共有7個,當你提交的時候,後端一共有7個,當你提交的時候,後端php其實會是HTML頁面中最後一個name 選擇框的值,所以目前後端接收的值只會是星期7的。要改這個

bug
    有兩種方法,如下
  • selectname值都變成數組,如 kemu1 改成

    kemu1[]
  • foreach循環的時候把$row的值也放到 selectname,如 {$row}-kemu1,這樣沒有重複的,如 {$row}-kemu1

    ,這樣沒有重複的
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn