Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP错误,Foreach()和Html POST_Php_Html_Foreach - Fatal编程技术网

PHP错误,Foreach()和Html POST

PHP错误,Foreach()和Html POST,php,html,foreach,Php,Html,Foreach,“我有两页。在第一个页面上有一个选择框,其中包含许多国家的所有名称,当用户单击一个国家并单击发送时,它会转到相关标志所在的第二个页面。然而,当我看不出有什么问题时,它就不起作用了。我在这上面花了很多时间,这让我很恼火,所以如果有人能帮我,那就好了 第1页: <?php echo "<form action='test2.php' method='post'> "; echo '<br>Actual Region: <img src="flags/png/' .

“我有两页。在第一个页面上有一个选择框,其中包含许多国家的所有名称,当用户单击一个国家并单击发送时,它会转到相关标志所在的第二个页面。然而,当我看不出有什么问题时,它就不起作用了。我在这上面花了很多时间,这让我很恼火,所以如果有人能帮我,那就好了

第1页:

<?php
echo "<form action='test2.php' method='post'>
";
echo '<br>Actual Region: <img src="flags/png/' . $country . '.png">';
$countries = array( 
'   af  '   =>' Afghanistan '   ,
'   al  '   =>' Albania '   ,
'   dz  '   =>' Algeria '   ,
'   as  '   =>' American Samoa  '   ,
'   ad  '   =>' Andorra '   ,
'   ao  '   =>' Angola  '   ,
'   ai  '   =>' Anguilla    '   ,
'   aq  '   =>' Antarctica  '   ,
'   ag  '   =>' Antigua and Barbuda '   ,
'   ar  '   =>' Argentina   '   ,
'   am  '   =>' Armenia '   ,
'   aw  '   =>' Aruba   '   ,
'   au  '   =>' Australia   '   ,
'   at  '   =>' Austria '   ,
'   az  '   =>' Azerbaijan  '   ,
'   bs  '   =>' Bahamas '   ,
'   bh  '   =>' Bahrain '   ,
'   bd  '   =>' Bangladesh  '   ,
'   bb  '   =>' Barbados    '   ,
'   by  '   =>' Belarus '   ,
'   be  '   =>' Belgium '   ,
'   bz  '   =>' Belize  '   ,
'   bj  '   =>' Benin   '   ,
'   bm  '   =>' Bermuda '   ,
'   bt  '   =>' Bhutan  '   ,
'   bo  '   =>' Bolivia '   ,
'   ba  '   =>' Bosnia-Herzegovina  '   ,
'   bw  '   =>' Botswana    '   ,
'   bv  '   =>' Bouvet Island   '   ,
'   br  '   =>' Brazil  '   ,
'   io  '   =>' British Indian Ocean Territory  '   ,
'   bn  '   =>' Brunei Darussalam   '   ,
'   bg  '   =>' Bulgaria    '   ,
'   bf  '   =>' Burkina Faso    '   ,
'   bi  '   =>' Burundi '   ,
'   kh  '   =>' Cambodia    '   ,
'   cm  '   =>' Cameroon    '   ,
'   ca  '   =>' Canada  '   ,
'   cv  '   =>' Cape Verde  '   ,
'   ky  '   =>' Cayman Islands  '   ,
'   cf  '   =>' Central African Republic    '   ,
'   td  '   =>' Chad    '   ,
'   cl  '   =>' Chile   '   ,
'   cn  '   =>' China   '   ,
'   cx  '   =>' Christmas Island    '   ,
'   cc  '   =>' Cocos (Keeling) Islands '   ,
'   co  '   =>' Colombia    '   ,
'   km  '   =>' Comoros '   ,
'   cg  '   =>' Congo   '   ,
'   cd  '   =>' Congo, Dem. Republic    '   ,
'   ck  '   =>' Cook Islands    '   ,
'   cr  '   =>' Costa Rica  '   ,
'   hr  '   =>' Croatia '   ,
'   cu  '   =>' Cuba    '   ,
'   cy  '   =>' Cyprus  '   ,
'   cz  '   =>' Czech Rep.  '   ,
'   dk  '   =>' Denmark '   ,
'   dj  '   =>' Djibouti    '   ,
'   dm  '   =>' Dominica    '   ,
'   do  '   =>' Dominican Republic  '   ,
'   ec  '   =>' Ecuador '   ,
'   eg  '   =>' Egypt   '   ,
'   sv  '   =>' El Salvador '   ,
'   gq  '   =>' Equatorial Guinea   '   ,
'   er  '   =>' Eritrea '   ,
'   ee  '   =>' Estonia '   ,
'   et  '   =>' Ethiopia    '   ,
'   eu.int  '   =>' European Union  '   ,
'   fk  '   =>' Falkland Islands    '   ,
'   fo  '   =>' Faroe Islands   '   ,
'   fj  '   =>' Fiji    '   ,
'   fi  '   =>' Finland '   ,
'   fr  '   =>' France  '   ,
'   gf  '   =>' French Guiana   '   ,
'   tf  '   =>' French Southern Territories '   ,
'   ga  '   =>' Gabon   '   ,
'   gm  '   =>' Gambia  '   ,
'   ge  '   =>' Georgia '   ,
'   de  '   =>' Germany '   ,
'   gh  '   =>' Ghana   '   ,
'   gi  '   =>' Gibraltar   '   ,
'   gb  '   =>' Great Britain   '   ,
'   gr  '   =>' Greece  '   ,
'   gl  '   =>' Greenland   '   ,
'   gd  '   =>' Grenada '   ,
'   gp  '   =>' Guadeloupe (French) '   ,
'   gu  '   =>' Guam (USA)  '   ,
'   gt  '   =>' Guatemala   '   ,
'   gg  '   =>' Guernsey    '   ,
'   gn  '   =>' Guinea  '   ,
'   gw  '   =>' Guinea Bissau   '   ,
'   gy  '   =>' Guyana  '   ,
'   ht  '   =>' Haiti   '   ,
'   hm  '   =>' Heard Island and McDonald Islands   '   ,
'   hn  '   =>' Honduras    '   ,
'   hk  '   =>' Hong Kong   '   ,
'   hu  '   =>' Hungary '   ,
'   is  '   =>' Iceland '   ,
'   in  '   =>' India   '   ,
'   id  '   =>' Indonesia   '   ,
'   ir  '   =>' Iran    '   ,
'   iq  '   =>' Iraq    '   ,
'   ie  '   =>' Ireland '   ,
'   im  '   =>' Isle of Man '   ,
'   il  '   =>' Israel  '   ,
'   it  '   =>' Italy   '   ,
'   ci  '   =>' Ivory Coast '   ,
'   jm  '   =>' Jamaica '   ,
'   jp  '   =>' Japan   '   ,
'   je  '   =>' Jersey  '   ,
'   jo  '   =>' Jordan  '   ,
'   kz  '   =>' Kazakhstan  '   ,
'   ke  '   =>' Kenya   '   ,
'   ki  '   =>' Kiribati    '   ,
'   kp  '   =>' Korea-North '   ,
'   kr  '   =>' Korea-South '   ,
'   kw  '   =>' Kuwait  '   ,
'   kg  '   =>' Kyrgyzstan  '   ,
'   la  '   =>' Laos    '   ,
'   lv  '   =>' Latvia  '   ,
'   lb  '   =>' Lebanon '   ,
'   ls  '   =>' Lesotho '   ,
'   lr  '   =>' Liberia '   ,
'   ly  '   =>' Libya   '   ,
'   li  '   =>' Liechtenstein   '   ,
'   lt  '   =>' Lithuania   '   ,
'   lu  '   =>' Luxembourg  '   ,
'   mo  '   =>' Macau   '   ,
'   mk  '   =>' Macedonia   '   ,
'   mg  '   =>' Madagascar  '   ,
'   mw  '   =>' Malawi  '   ,
'   my  '   =>' Malaysia    '   ,
'   mv  '   =>' Maldives    '   ,
'   ml  '   =>' Mali    '   ,
'   mt  '   =>' Malta   '   ,
'   mh  '   =>' Marshall Islands    '   ,
'   mq  '   =>' Martinique (French) '   ,
'   mr  '   =>' Mauritania  '   ,
'   mu  '   =>' Mauritius   '   ,
'   yt  '   =>' Mayotte '   ,
'   mx  '   =>' Mexico  '   ,
'   fm  '   =>' Micronesia  '   ,
'   md  '   =>' Moldova '   ,
'   mc  '   =>' Monaco  '   ,
'   mn  '   =>' Mongolia    '   ,
'   me  '   =>' Montenegro  '   ,
'   ms  '   =>' Montserrat  '   ,
'   ma  '   =>' Morocco '   ,
'   mz  '   =>' Mozambique  '   ,
'   mm  '   =>' Myanmar '   ,
'   na  '   =>' Namibia '   ,
'   nr  '   =>' Nauru   '   ,
'   np  '   =>' Nepal   '   ,
'   nl  '   =>' Netherlands '   ,
'   an  '   =>' Netherlands Antilles    '   ,
'   nc  '   =>' New Caledonia (French)  '   ,
'   nz  '   =>' New Zealand '   ,
'   ni  '   =>' Nicaragua   '   ,
'   ne  '   =>' Niger   '   ,
'   ng  '   =>' Nigeria '   ,
'   nu  '   =>' Niue    '   ,
'   nf  '   =>' Norfolk Island  '   ,
'   mp  '   =>' Northern Mariana Islands    '   ,
'   no  '   =>' Norway  '   ,
'   om  '   =>' Oman    '   ,
'   pk  '   =>' Pakistan    '   ,
'   pw  '   =>' Palau   '   ,
'   pa  '   =>' Panama  '   ,
'   pg  '   =>' Papua New Guinea    '   ,
'   py  '   =>' Paraguay    '   ,
'   pe  '   =>' Peru    '   ,
'   ph  '   =>' Philippines '   ,
'   pn  '   =>' Pitcairn Island '   ,
'   pl  '   =>' Poland  '   ,
'   pf  '   =>' Polynesia (French)  '   ,
'   pt  '   =>' Portugal    '   ,
'   pr  '   =>' Puerto Rico '   ,
'   qa  '   =>' Qatar   '   ,
'   re  '   =>' Reunion (French)    '   ,
'   ro  '   =>' Romania '   ,
'   ru  '   =>' Russia  '   ,
'   rw  '   =>' Rwanda  '   ,
'   sh  '   =>' Saint Helena    '   ,
'   kn  '   =>' Saint Kitts & Nevis Anguilla    '   ,
'   lc  '   =>' Saint Lucia '   ,
'   pm  '   =>' Saint Pierre and Miquelon   '   ,
'   vc  '   =>' Saint Vincent & Grenadines  '   ,
'   ws  '   =>' Samoa   '   ,
'   sm  '   =>' San Marino  '   ,
'   st  '   =>' Sao Tome and Principe   '   ,
'   sa  '   =>' Saudi Arabia    '   ,
'   sn  '   =>' Senegal '   ,
'   rs  '   =>' Serbia  '   ,
'   sc  '   =>' Seychelles  '   ,
'   sl  '   =>' Sierra Leone    '   ,
'   sg  '   =>' Singapore   '   ,
'   sk  '   =>' Slovakia    '   ,
'   si  '   =>' Slovenia    '   ,
'   sb  '   =>' Solomon Islands '   ,
'   so  '   =>' Somalia '   ,
'   za  '   =>' South Africa    '   ,
'   gs  '   =>' South Georgia & South Sandwich Islands  '   ,
'   es  '   =>' Spain   '   ,
'   lk  '   =>' Sri Lanka   '   ,
'   sd  '   =>' Sudan   '   ,
'   sr  '   =>' Suriname    '   ,
'   sj  '   =>' Svalbard and Jan Mayen Islands  '   ,
'   sz  '   =>' Swaziland   '   ,
'   se  '   =>' Sweden  '   ,
'   ch  '   =>' Switzerland '   ,
'   sy  '   =>' Syria   '   ,
'   tw  '   =>' Taiwan  '   ,
'   tj  '   =>' Tajikistan  '   ,
'   tz  '   =>' Tanzania    '   ,
'   th  '   =>' Thailand    '   ,
'   tg  '   =>' Togo    '   ,
'   tk  '   =>' Tokelau '   ,
'   to  '   =>' Tonga   '   ,
'   tt  '   =>' Trinidad and Tobago '   ,
'   tn  '   =>' Tunisia '   ,
'   tr  '   =>' Turkey  '   ,
'   tm  '   =>' Turkmenistan    '   ,
'   tc  '   =>' Turks and Caicos Islands    '   ,
'   tv  '   =>' Tuvalu  '   ,
'   uk  '   =>' U.K.    '   ,
'   ug  '   =>' Uganda  '   ,
'   ua  '   =>' Ukraine '   ,
'   ae  '   =>' United Arab Emirates    '   ,
'   uy  '   =>' Uruguay '   ,
'   us  '   =>' USA '   ,
'   um  '   =>' USA Minor Outlying Islands  '   ,
'   uz  '   =>' Uzbekistan  '   ,
'   vu  '   =>' Vanuatu '   ,
'   va  '   =>' Vatican '   ,
'   ve  '   =>' Venezuela   '   ,
'   vn  '   =>' Vietnam '   ,
'   vg  '   =>' Virgin Islands (British)    '   ,
'   vi  '   =>' Virgin Islands (USA)    '   ,
'   wf  '   =>' Wallis and Futuna Islands   '   ,
'   eh  '   =>' Western Sahara  '   ,
'   ye  '   =>' Yemen   '   ,
'   zm  '   =>' Zambia  '   ,
'   zw  '   =>' Zimbabwe    '   );

echo "<br>Chosen Region: <select>";
foreach ($countries as $key => $value) {
echo "<option name=" . $key . ">" . $value . "</option>";
}
echo "</select><input type='submit' value='send' name='send' />
</form>";
?>

您的代码缺少开头的
标记。
您必须使用其name属性作为键来访问
$\u POST
数组以检索所选值

您的html应该如下所示:

<select name="country">
<?php
echo "<br>Chosen Region: <select>";
foreach ($countries as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
</select>
?>
$country = $_POST['country'];

echo "<img src='flags/png/' . $country . '.png'>";

以及php文件:

<?php
$country = $_POST['country'];
?>

您必须将名称附加到select标记上,而不是选项上,以便在第二个php中检索它:

echo "<br>Chosen Region: <select name='country'>";
foreach ($countries as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
echo "</select><input type='submit' value='send' name='send' />
</form>";
echo“
所选区域:”; foreach($key=>$value的国家){ 回显“$value.”; } 回声“ ";
第二页

$country = $_POST['country'];
echo "<img src='flags/png/".$country.".png'>";
$country=$\u POST['country'];
回声“;
您的
缺少名称属性:

<select name='country'>
  ..options..
</select>

…选项。。

您的选择框缺少名称属性。然后在第二页做$_POST[“countries”]。此外,您的选项应该具有值属性,而不是名称。

我看到的问题如下:

  • 您的
    没有名字,这可能是第二页的一个问题,无法轻松识别您通过它发送的内容

  • 在第二页中,我看不到从哪里获得获取标志的
    $key
    变量

建议:

  • 在中添加一个名称,这样您的post变量就可以像这样使用
    $\u post['nameOfSelect']
    ,它将包含所选国家的ID。同时向
    标记添加“value”属性

  • 上述建议将解决
    $key
    变量的问题,只需执行与当前第二页
    $country=$\u POST['nameOfSelect']
    中完全相同的操作即可解决问题

希望我说得够清楚,这个建议能帮助你:)

更新:添加到答案中,特别是指您的更新,是的,添加“值”属性将解决您的问题:

    echo "<br>Chosen Region: <select name='country'>";

    foreach ($countries as $key => $value) {
        echo "<option value=" . $key . ">" . $value . "</option>";
    }

你能详细谈谈“它不起作用”吗?这些真的是你网页的全部内容吗?您希望在第二页中将
$key
设置为什么?您的标题似乎有误导性。。。您是否真的收到了与foreach()调用相关的错误消息?到底是什么不起作用?为什么人们坚持认为“它不起作用”是可以接受的错误报告?FFS@RyanMurphy所以基本上如果有人选择阿富汗,图像会是
flags/png/af.png
?你的
$countries
数组中有键值的空格是怎么回事?这只是一个输入错误。将手动将其取出或修剪()。你的位置在哪里there@RyanMurphy那么我的答案应该有效。你得到的错误是什么?修复了第2页上的一个小回音错误,它给出了完整的国家名称.png而不是国家代码.png
$country = $_POST['country'];

echo "<img src='flags/png/' . $country . '.png'>";