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);
//여기서 수신된 값이 없습니다
// 그런데 URL 주소 표시줄에 값이 있습니다
// html에 중첩된 PHP 구문이 있기 때문에 이 foreach를 사용하지 않고 값을 받을 수 있나요?
// 내가 원하는 효과는 이런데 그럴 가치가 없나요?
//내가 궁극적으로 원하는 것은 이것이다
$arr = array(
<code>'monday' => $_POST, 'tuesday' => $_POST, 'wednesday' => $_POST, 'thursday' => $_POST, 'friday' => $_POST, 'saturday' => $_POST, 'sunday' => $_POST</code>
);
// html은 이렇습니다
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);
//여기서 수신된 값이 없습니다
// 그런데 URL 주소 표시줄에 값이 있습니다
// html에 중첩된 PHP 구문이 있기 때문에 이 foreach를 사용하지 않고 값을 받을 수 있나요?
// 내가 원하는 효과는 이런데 그럴 가치가 없나요?
//내가 궁극적으로 원하는 것은 이것이다
$arr = array(
<code>'monday' => $_POST, 'tuesday' => $_POST, 'wednesday' => $_POST, 'thursday' => $_POST, 'friday' => $_POST, 'saturday' => $_POST, 'sunday' => $_POST</code>
);
// html은 이렇습니다
자기 종결을 쓰지 않음을 선택하세요
초대해주셔서 감사합니다.
RESTful을 따르는 경우에도 여전히 POST를 사용하여 데이터를 전송해야 합니다
그런 다음 가져와야 하는 경우 $_POST['key']를 사용하여 가져오세요.
값을 얻을 수 없는 경우 중복을 피하기 위해 js 콘솔을 사용하여 키가 올바른지 확인하는 것이 좋습니다.
$_GET이 비어 있습니다. 추측이 맞다면 키 값이 중복됩니다. 왜?
보시다시피, foreach는 끝까지 순회하며, 얻은 결과는 마지막에 비어 있어야 합니다.
그래서 결론은 이렇습니다.
<code>检查一下你的key值,避免重复。</code>
이렇게 뻔한 실수가 있습니다. foreach
을 사용하면 HTML
과 유사한 kemu1
페이지가 총 name
7개가 있습니다. > 수신된 값은 실제로 페이지의 마지막 php
선택 상자의 값이 되므로 현재 백엔드에서 수신되는 값은 HTML
7주차name
의 값만 됩니다. 이를 변경하는 방법은 2가지가 있는데, 다음과 같습니다
bug
값을 배열로 변환합니다(예: select
에서 name
kemu1
kemu1[]
).
의 foreach
에 $row
처럼 select
의 값을 넣어서, 반복되는 name
값이 없으면 {$row}-kemu1
name
ok