gpt4 book ai didi

php - 防止浏览器错误再次转到上一页

转载 作者:行者123 更新时间:2023-11-29 06:52:53 25 4
gpt4 key购买 nike

希望有人能帮我解决这个问题。我有一个表格可以为用户选择所需的类别。我使用此表单的复选框让他们选择类别。在他们选择类别时,我将所选类别保存在 SESSION 上,然后在该类别页面重定向到下一页。

那个过程是这样的……

if ( $totalCategory >= 1 && $totalCategory <= 10 ) {

$_SESSION['category'] = $_POST['category'];

$url = BASE_URI . 'select_subject.php'; // Define the URL:
header("Location: $url");
exit(); // Quit the script.
}

我的问题是当页面重定向到下一页 (select_subject.php) 时,有时用户可能需要使用浏览器上的后退按钮再次返回类别页面以更改他们选择的类别。但是当它发生时,它不会再次分类页面并且浏览器会显示类似这样的错误...

Document Expired, This document is no longer available.

注意:但是当我点击页面重新加载按钮时页面显示正常。

在这种情况下,我需要有人帮助避免这种情况,我需要再次显示类别页面并正确显示先前选择的类别..

更新代码:

<?php

if ( isset($_GET['submitted_category'])) {

if ( isset ( $_GET['category']) && is_array( $_GET['category'])) {

$_SESSION['selectedcatcount'] = count( $_GET['category']);
$totalCategory = count( $_GET['category']);

if ( $totalCategory >= 1 && $totalCategory <= 10 ) {

$_SESSION['category'] = $_GET['category'];
$url = BASE_URI . 'select_subject.php'; // Define the URL:
header("Location: $url");
exit(); // Quit the script.
} else {
echo '<div class="error">
<img src="images/error.png" />
<p style="margin:2px 0 0;">Please select atleast 1, not more than 10 categories.</p>
</div>'; }
} else {
echo '<div class="error">
<img src="images/error.png" />
<p style="margin:2px 0 0;">This can not be empty. Please select atleast one category.</p>
</div>';
}
}

$q = 'SELECT * FROM category ORDER BY category_id';
$r = mysqli_query( $dbc, $q);

$c = 0;
$i = 0;

echo '<form action="" method="get" accept-charset="utf-8">';
echo '<table><tr>';

while($row = mysqli_fetch_array( $r, MYSQLI_ASSOC )){

// if remainder is zero after 2 iterations (for 2 columns) and when $c > 0, end row and start a new row:
if( ($c % 2) == 0 && $c != 0){
echo "</tr><tr>";
}
echo '<td width="50%">
<input type="checkbox" name="category[]" value="' . $row['category_id'] . '" />' . $row['category_name'] .
'</td>';
$c++;

} // while..
// in case you need to fill a last empty cell:
if ( ( $i % 2 ) != 0 ){
// str_repeat() will be handy when you want more than 2 columns
echo str_repeat( "<td>&nbsp;</td>", ( 2 - ( $i % 2 ) ) );
}
echo "</tr></table>";
?>
</div>
<div class="continue">
<p>Please click 'Continue' button to proceed to next step</p>
<input type="submit" value="Continue" class="continue-btn" />
<input type="hidden" name="submitted_category" value="TRUE" />
</div>
</form>

希望有人帮帮我..谢谢..

最佳答案

如果你使用 $_GET 方法你不会遇到这个问题,改变你的表单方法来获取并尝试它。

关于php - 防止浏览器错误再次转到上一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14415105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com