Home  >  Article  >  Backend Development  >  html - How can php not receive the option value under the select tag?

html - How can php not receive the option value under the select tag?

WBOY
WBOYOriginal
2016-10-10 11:56:231558browse

Why can’t php receive the option value under the select tag?

<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);
//No value received here
html - How can php not receive the option value under the select tag?

// But the url address bar has a value
html - How can php not receive the option value under the select tag?
// Because I have nested php syntax in the html, but can I receive the value without using this foreach?

html - How can php not receive the option value under the select tag?

// The effect I want is like this, but it’s not worth it?
html - How can php not receive the option value under the select tag?

// This is what I ultimately want
$arr = array(

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

);

// html is like this
html - How can php not receive the option value under the select tag?

Reply content:

Why can’t php receive the option value under the select tag?

<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);
//No value received here
html - How can php not receive the option value under the select tag?

// But the url address bar has a value
html - How can php not receive the option value under the select tag?
// Because I have nested php syntax in the html, but can I receive the value without using this foreach?

html - How can php not receive the option value under the select tag?

// The effect I want is like this, but it’s not worth it?
html - How can php not receive the option value under the select tag?

// This is what I ultimately want
$arr = array(

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

);

// html is like this
html - How can php not receive the option value under the select tag?

select Do not write self-closing

Thanks for the invitation.
If you follow RESTful, you should still use POST to transmit data

Then if you need to get it, just use $_POST['key'] to get it.

If you cannot get the value, it is recommended that you use the js console to check whether your key is correct to avoid duplication.

Your $_GET is empty. If I guessed correctly, the key value is duplicated. why?

html - How can php not receive the option value under the select tag?
You see, foreach is traversing to the end, and what you get must be empty at the end.

So, the conclusion is:

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

Such an obvious mistake, when you use foreach, HTML pages similar to kemu1 have a total of 7. When you submit, the value received by the backend php In fact, it will be the value of the last name selection box in the HTML page, so the value currently received by the backend will only be week 7. There are two ways to fix this bug, as follows

    Change the
  • name

    values ​​of select into arrays, such as kemu1 into kemu1[] When

  • foreach

    loops, put the value of $row into the name of select, such as {$row}-kemu1, so that there is no duplicate name value and it will be ok

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn