在 PHP 中重新加载页面后保持单选按钮选中状态


Keep radio button checked after page reload in PHP

我正在尝试将 api 调用的结果分页到 10 页(就像 ebay 或谷歌一样)。我创建了 10 个单选按钮来选择要显示的页面。我的问题是单击单选按钮后无法保持选中状态。更具体地说,我是这样做的:

$results .= "<FORM ACTION='"" . $_SERVER['PHP_SELF'] . "'" METHOD='"POST'"> 'n";
        $results .= "<INPUT TYPE='"radio'" NAME='"pageNumber'" VALUE='"1'" onchange='"this.form.submit();'" check(".$_SESSION['PageNumber'].",1); >1";
        $results .= "<INPUT TYPE='"radio'" NAME='"pageNumber'" VALUE='"2'" onchange='"this.form.submit();'" check(".$_SESSION['PageNumber'].",2);>2";
        $results .= "<INPUT TYPE='"radio'" NAME='"pageNumber'" VALUE='"3'" onchange='"this.form.submit();'" check(".$_SESSION['PageNumber'].",3);>3";
        $results .= "<INPUT TYPE='"radio'" NAME='"pageNumber'" VALUE='"4'" onchange='"this.form.submit();'" check(".$_SESSION['PageNumber'].",4);>4";
        $results .= "<INPUT TYPE='"radio'" NAME='"pageNumber'" VALUE='"5'" onchange='"this.form.submit();'" check(".$_SESSION['PageNumber'].",5);>5";
        $results .= "<INPUT TYPE='"radio'" NAME='"pageNumber'" VALUE='"6'" onchange='"this.form.submit();'" check(".$_SESSION['PageNumber'].",6);>6";
        $results .= "<INPUT TYPE='"radio'" NAME='"pageNumber'" VALUE='"7'" onchange='"this.form.submit();'" check(".$_SESSION['PageNumber'].",7);>7";
        $results .= "<INPUT TYPE='"radio'" NAME='"pageNumber'" VALUE='"8'" onchange='"this.form.submit();'" check(".$_SESSION['PageNumber'].",8);>8";
        $results .= "<INPUT TYPE='"radio'" NAME='"pageNumber'" VALUE='"9'" onchange='"this.form.submit();'" check(".$_SESSION['PageNumber'].",9);>9";
        $results .= "<INPUT TYPE='"radio'" NAME='"pageNumber'" VALUE='"10'" onchange='"this.form.submit();'" check(".$_SESSION['PageNumber'].",10);>10";
        $results .= "</FORM> 'n";

我像这样定义检查函数:

function check($opt , $value){
    if($opt==$value)return "checked";
    else return '';
}

但结果是没有一个单选按钮保持选中状态。我单击一个按钮,页面重新加载并显示正确的结果,但该按钮未被选中。有没有更简单的方法??

您的串联包含您的函数名称作为字符串,因此它永远不会触发。您需要将函数调用移出字符串

 $results .= "<INPUT........".check($_SESSION['PageNumber'],1)".; >1";