Php 我可以得到多项选择,为运动场工作

Php 我可以得到多项选择,为运动场工作,php,html,Php,Html,我试图通过POST方法处理表单,但在传递多个选择字段时遇到问题 <label for="sport">Favourite sport: </label> <select id="sport" name="favsport[]" size="4" multiple> <option value="soccer">Soccer</option> <option value="cricket"&g

我试图通过POST方法处理表单,但在传递多个选择字段时遇到问题

<label for="sport">Favourite sport: </label>
    <select id="sport" name="favsport[]" size="4" multiple>
        <option value="soccer">Soccer</option>
        <option value="cricket">Cricket</option>
        <option value="squash">Squash</option>
        <option value="golf">Golf</option>
        <option value="tennis">Tennis</option>
        <option value="basketball">Basketball</option>
        <option value="baseball">Baseball</option>
    </select>





$sportstr = $_POST["favsport"];
<p><strong> Favourite Sport = </strong> <?php echo "$sportstr"; ?></p>
喜爱的运动:
足球
板球
南瓜
高尔夫球
网球
篮球
棒球
$sportstr=$_POST[“favsport”];
喜爱的运动=


这是因为您的字段名是
favsport[]
,它在php中为您提供数组
$\u POST[“favsport”]
您正在执行echo
$sportstr
变量,它将为您提供注意:数组到字符串的转换这就是为什么您必须使用
print\u r()
函数来打印数组的原因。使用下面的代码,它可能是您的解决方案

$sportstr = $_POST["favsport"];
print_r($sportstr);

使用多选字段
favsport[]
发布表单时,表单将作为数组发布:

array (
  'favsport' => 
  array (
    0 => 'cricket',
    1 => 'squash',
    2 => 'golf',
    3 => 'tennis',
    4 => 'basketball',
    5 => 'baseball',
  ),
)

当处理
多选下拉列表时,可以获得如下值:

$sportstr = $_POST["favsport"];

这里的
$sportstr
是一个数组,因此您必须使用
foreach()
访问它的所有元素。

print\r($sportstr)
将显示您正在尝试回显阵列…可能是循环或
内爆()
正常?我得到的信息可能与此重复从用户处收到以下信息:name=ravel Email=rav123 Post Address=8 street print\r($sporttr);//喜爱的运动=阵列电子邮件列表=Yes@TobySpeight谢谢你的建议