Heim  >  Artikel  >  Backend-Entwicklung  >  html - php怎么接收不到select标签下的option值

html - php怎么接收不到select标签下的option值

WBOY
WBOYOriginal
2016-10-10 11:56:231555Durchsuche

php怎么接收不到select标签下的option值

<code><?php //index.php
$weeks = range(1, 7);
?>


 
    <meta> 
    <title>test</title> 


<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"></select>。
                    <option value="">请选课目</option>
                    <option value="wuli">物理</option>
                    <option value="lishi">历史</option>
                    
                    <br>
                    时间
                    <select name="shijian1"></select>。
                    <option value="">请选时间</option>
                    <option value="10:30">10:30</option>
                    <option value="11:00">11:00</option>
                    
                    <br>


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


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


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

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

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

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

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

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

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

</form>

</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);
?>


 
    <meta> 
    <title>test</title> 


<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"></select>。
                    <option value="">请选课目</option>
                    <option value="wuli">物理</option>
                    <option value="lishi">历史</option>
                    
                    <br>
                    时间
                    <select name="shijian1"></select>。
                    <option value="">请选时间</option>
                    <option value="10:30">10:30</option>
                    <option value="11:00">11:00</option>
                    
                    <br>


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


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


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

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

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

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

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

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

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

</form>

</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个,当你提交的时候,后端 php 接收到的值其实会是 HTML页面中最后一个 name 选择框的值,所以目前后端接收的值只会是 星期7的。要改这个bug有两种方法,如下

  • selectname值都变成数组,如 kemu1 改成 kemu1[]

  • foreach循环的时候把$row的值也放到 selectname,如 {$row}-kemu1,这样没有重复的name值就ok

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn