Maison >développement back-end >tutoriel php >html - php怎么接收不到select标签下的option值

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

WBOY
WBOYoriginal
2016-10-10 11:56:231609parcourir

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn