PHP表单复选框值获取错误


php form check box value getting error

我找不到错误一切正常,除了复选框值没有得到列表

<?php
if(isset($_POST['sub']))
{
    $fname = $_POST['fname'];
    $age = $_POST['age'];
    $comment = $_POST['comment'];
    $gender = $_POST['gender'];
    $hobby_temp = $_POST['hobby'];
    $size = count($hobby_temp);
    for($i = 0; $i < size; $i++)
    {
        $hobby=$hobby.','.$hobby_temp[$i];
    }
    echo 'Name:'.$fname.'<br>';
    echo 'age:'.$age.'<br>';
    echo 'comment:'.$comment.'<br>';
    echo 'gender:'.$gender.'<br>';
    echo 'Hobbies:'.$hobby.'<br>';
}
?>

注意:每件事都显示期望爱好

你的问题在这里:

$hobby=$hobby.','.$hobby_temp[$i];

应该是

$hobby = "" //initialize outside the loop
for($i = 0; $i < $size; $i++){
    if($i==0) $hobby = $hobby_temp[$i];
    else $hobby = $hobby .', '.hobby_temp[$i] ;
}

使用内爆

$hobby = isset($_POST["hobby"])?implode(",",$_POST["hobby"]):"");

您应该在每个循环中覆盖您的$hobby,而不是连接您的变量

$hobby = '';
for($i = 0; $i < size; $i++)
{
    $hobby .= $hobby_temp[$i] . ',';
}
$hobby = substr_replace($hobby, '', -1);