>  기사  >  백엔드 개발  >  html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?

html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?

WBOY
WBOY원래의
2016-10-10 11:56:231558검색

PHP가 select 태그 아래의 옵션 값을 받지 못하는 이유

<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 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?

// 그런데 URL 주소 표시줄에 값이 있습니다
html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?
// html에 중첩된 PHP 구문이 있기 때문에 이 foreach를 사용하지 않고 값을 받을 수 있나요?

html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?

// 내가 원하는 효과는 이런데 그럴 가치가 없나요?
html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?

//내가 궁극적으로 원하는 것은 이것이다
$arr = array(

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

);

// html은 이렇습니다
html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?

답글 내용:

PHP가 select 태그 아래의 옵션 값을 받지 못하는 이유

<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 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?

// 그런데 URL 주소 표시줄에 값이 있습니다
html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?
// html에 중첩된 PHP 구문이 있기 때문에 이 foreach를 사용하지 않고 값을 받을 수 있나요?

html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?

// 내가 원하는 효과는 이런데 그럴 가치가 없나요?
html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?

//내가 궁극적으로 원하는 것은 이것이다
$arr = array(

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

);

// html은 이렇습니다
html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?

자기 종결을 쓰지 않음을 선택하세요

초대해주셔서 감사합니다.
RESTful을 따르는 경우에도 여전히 POST를 사용하여 데이터를 전송해야 합니다

그런 다음 가져와야 하는 경우 $_POST['key']를 사용하여 가져오세요.

값을 얻을 수 없는 경우 중복을 피하기 위해 js 콘솔을 사용하여 키가 올바른지 확인하는 것이 좋습니다.

$_GET이 비어 있습니다. 추측이 맞다면 키 값이 중복됩니다. 왜?

html - PHP가 select 태그 아래의 옵션 값을 수신할 수 없는 이유는 무엇입니까?
보시다시피, foreach는 끝까지 순회하며, 얻은 결과는 마지막에 비어 있어야 합니다.

그래서 결론은 이렇습니다.

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

이렇게 뻔한 실수가 있습니다. foreach을 사용하면 HTML과 유사한 kemu1페이지가 총 name7개가 있습니다. > 수신된 값은 실제로 페이지의 마지막 php 선택 상자의 값이 되므로 현재 백엔드에서 수신되는 값은 HTML7주차name의 값만 됩니다. 이를 변경하는 방법은 2가지가 있는데, 다음과 같습니다 bug

  • 의 모든

    값을 배열로 변환합니다(예: select에서 namekemu1kemu1[]).

  • 루프시에는

    foreach$row처럼 select의 값을 넣어서, 반복되는 name값이 없으면 {$row}-kemu1nameok

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.