0

我一直在使用 $_GET 数据跨页面发送数据,它一直运行良好。我在一页上看到的是新闻。每篇新闻文章都有自己的特定 ID(此页面运行良好)。我可以单击每个活动旁边的“添加我”按钮,将自己添加为志愿者,为该活动组织烧烤活动。但是现在我正在尝试单击一个添加按钮,该按钮可以将其他用户添加到烧烤中。

我检查了 $_GET 数据是否在页面加载时返回任何内容,并且确实如此,但是当我单击提交时这些值会丢失。因此,当我检查它是否在 isset($_POST['userselect']) 中返回任何内容时,这些值会丢失:

这是我的代码:

$rosterID = $_GET["rosterid"];
$eventID = $_GET["eventid"];
//if i check to see if they gets work here, they do.

if (hasRole2($connection, "Admin") || hasRole2($connection, "Moderator") || hasRole2($connection, "BBQ Moderator")){
    $usernames[] = array();
    if ($stmt = $connection->prepare("SELECT id, uid from people")){
        $stmt->execute();
        $stmt->bind_result($id, $username);
        $stmt->store_result();

        $form = new jqmForm();
        $form->method('post');
        $sel = $form->add(new jqmSelect('userselect','userselect','<p align="center">Select User:</p>'), true);
        while ($stmt->fetch()){
            $usernames[] = array('uid' => $username, 'id' => $id);
            $optName = $username;
            $optValue = $id;
            $sel->add(new jqmOption($optName, $optValue, false));
            $sel->attribute('data-native-menu', 'false');
        }
        $stmt->close();
        $form->add(new jqmInput('submit', 'submit', 'submit', 'submit', '', 'b', true));
    }
    if (isset($_POST["userselect"])){
        //if i check to see if the gets work here, they don't.

        $personID = $_POST["userselect"];
        if (rostered($connection, $personID, $rosterID, $eventID)){
            $personID = $_POST["userselect"];
            $p->addContent("<p align=center><font color = red>You have already rostered for this event</font></p>");
            $login = $p->addContent("<font color=brown size=4><a href = news.php rel=external> Go back </a></font>");
            $login->attribute('align', 'center');
        }
        else{
            $search = "INSERT INTO RosterPeopleEvent (roster_id, person_id, news_id) VALUES (?, ?, ?)";
            if (!$roster = $connection->prepare($search)){
                $p->addContent("Inserting into RosterPeopleEvent Prepare failed: (" . $connection->errno . ") " . $connection->error);
            }
            else{
                $roster->bind_param("iii", $_GET["rosterid"], $personID, $_GET["eventid"]);
                $roster->execute();
            }
        }
    }
}
4

1 回答 1

0

刚刚添加:

$form->action("url.php?rosterid=$rosterID&eventid=$eventID");

这行得通。

于 2013-11-08T03:13:25.603 回答