繁体   English   中英

在页面之间使用$ _POST方法

[英]Using the $_POST method between pages

我有三个单独的PHP页面。 在第一页上,我使用'keywords'列从我的数据库中提取信息,我将其转为复选框:

$i=0;
foreach(explode(',', $keywords) as $keyword) {
    if($keyword != ""){
        $keyword = trim($keyword);
        $chkname = "checkbox{$i}";
        $i = $i+1;
        echo '<input type="checkbox" name="chkboxes[]" value="'.$keyword.'" id="chk_'.$keyword.'" />
                <label for="chk_'.$keyword.'">'.$keyword.'</label>'."<br />";

然后我将这些信息传递给第二个PHP脚本,该脚本显示用户实际选中标记的复选框:

if(isset($_POST['chkboxes'])) {
  foreach($_POST['chkboxes'] as $chkbox) {
        echo '- '.$chkbox."<br />";

在第三个PHP脚本中,我想获取用户已勾选的复选框,并将其回显。 出于某种原因,我无法弄清楚,我无法抓住已检查的复选框。 我试过在第二个php页面上添加一个隐藏的输入字段,

if(isset($_POST['chkboxes'])) {
  foreach($_POST['chkboxes'] as $chkbox) {
        echo '- '.$chkbox."<br />";
        '<input type="hidden" name="options[]" id="options" value=" ' . $chkbox . '"/>';
  }

并在使用的第三个PHP脚本上:

if(isset($_POST['options'])){
    $options = $_POST['options'];
}

我不知道从哪里开始。 任何帮助将不胜感激,我将选择正确的答案。 现在,在第三个php页面上,我一直在使用print_r($_POST); 看看会发生什么。 一切正常,除了它没有发布选中的复选框。

在这种情况下,您可以使用会话。 见: http//php.net/manual/en/book.session.php

顺便说一下:你提交了隐藏的输入吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM