将复选框值放入会话变量,然后重定向

时间:2016-10-21 02:01:58

标签: php html

这里有一个有趣(对我而言)的问题。我从Web服务返回了一些数据。我要做的是创建一个页面,当勾选复选框时,该页面会自动重定向到新页面并显示该特定数据。

代码目前看起来像这样

<table width="90%">
        <thead>
            <tr>
                <th class="col-md-4 text-center" width="25%">Title</th>
                <th class="col-md-2 text-center" width="25%">Venue</th>
                <th class="col-md-4 text-center" width="20%">Date</th>
                <th class="col-md-1 text-center" width="20%">Length</th>
                <th class="col-md-1 text-center" width="10%">View</th>
            </tr>
        </thead>
        <tbody>
        <?php
                $url = getUrlForMethod("Appointments", $_SESSION["Username"]);
                $response = callGetAPI($url);
                $decoded = json_decode($response);
                foreach($decoded->AppointmentList as $d)
                {
                ?>
                <tr>
                    <td width="25%"><?php echo $d->AppointmentList->MeetingName; ?></td>
                    <td width="25%"><?php echo $d->AppointmentList->Venue; ?></td>
                    <td width="20%"><?php echo $d->AppointmentList->DateTimeFrom; ?></td>
                    <td width="20%"><?php echo $d->AppointmentList->Length; ?></td>
                    <td width="10%"><input type="checkbox" name="view" value="<?php echo $d->AppointmentList->MeetingId; ?>" onclick="<?php $_SESSION["meetingId"]=$d->AppointmentList->MeetingId;?>; Javascript:window.location.href='showmeeting.php'"></td>
                </tr>
                <?php
                }
                ?>
        </tbody>
    </table>

我不能在这里使用表格(部分规格)。

问题在于无论选中哪个复选框,它都只是列表中的最后一个复选框。是否可以将会话变量设置为复选框的值,然后重定向但没有表单?

1 个答案:

答案 0 :(得分:0)

不太确定它真的是你想要的,但如果我完全按照你问题的第一段中的描述,你可能只是将MeetingId作为查询参数添加到你的网址中重定向到。

然后由您的something.php脚本使用此参数(来自$_GET['meetingid'],而不是来自某些$_SESSION数据)来构建所需的页面,该页面将当前页面替换为你问。

所以看起来像这样:

<table width="90%">
    <thead>
        <tr>
            <th class="col-md-4 text-center" width="25%">Title</th>
            <th class="col-md-2 text-center" width="25%">Venue</th>
            <th class="col-md-4 text-center" width="20%">Date</th>
            <th class="col-md-1 text-center" width="20%">Length</th>
            <th class="col-md-1 text-center" width="10%">View</th>
        </tr>
    </thead>
    <tbody>
<?php
$url = getUrlForMethod("Appointments", $_SESSION["Username"]);
$response = callGetAPI($url);
$decoded = json_decode($response);
foreach($decoded->AppointmentList as $d) {
?>
        <tr>
            <td width="25%"><?php echo $d->AppointmentList->MeetingName; ?></td>
            <td width="25%"><?php echo $d->AppointmentList->Venue; ?></td>
            <td width="20%"><?php echo $d->AppointmentList->DateTimeFrom; ?></td>
            <td width="20%"><?php echo $d->AppointmentList->Length; ?></td>
            <td width="10%">
                <input type="checkbox" onclick=
                  "javascript: window.location.href = 'showmeeting.php?meetingid=' +
                  '<?php echo $d->AppointmentList->MeetingId; ?>'">
            </td>
        </tr>
<?php
}
?>
    </tbody>
</table>

您会注意到我删除了name的{​​{1}}和value属性,因为它们在这里没用。

BTW我对所有<input>感到有些惊讶:这样写,这意味着你的$d->AppointmentList->...响应有一个$decoded属性,其中包含一个对象列表,这些对象本身有{ {1}}属性......你确定吗?