我正在研究一个项目,我被这个问题困住了:我有一个名为$ category的变量,如果它为空或为空,则设置为1.提交表单后,$ category ++,因此它变成2。好的,但在第三次提交时,它不会变成3.我检查了会发生什么,并且我发现实际上在每次提交之后,$ category变为1,因为第一个代码行说如果它为空或空为让我给你看看代码,看看我在说什么!预先感谢您的帮助! :)如何在表单提交后停止变量重置?
session_start();
include_once('db.php');
$cat_SQL = 'SELECT * FROM categories ORDER BY id';
$cat_RESULT = mysql_query($cat_SQL, $conn);
$cat_ROWS = mysql_fetch_assoc($cat_RESULT);
$cat_ROWS_number = mysql_num_rows($cat_RESULT);
if (is_null($category) || empty($category)) {
$category = 1;
}
if (isset($category)) {
if ($category < $cat_ROWS_number) {
$category = $category + 1; echo $category;
}
}
所以,如果我每次都附和类的页面加载,我有这样的事情:
你进入页面第一次:所以它变成1 => $类别类是空= 1 第二次提交$ category = $ category + 1 => $ category = 2(仍然是2而不是3) 等等之后提交第一个提交$ category = $ category + 1 => $ category = 2 ... :( 每次页面重新加载/提交时,如何阻止$ category成为'1',并且成为新值(每个会话)?
所以我最终设法做到这一点看到你的答案之前(不是吹牛,但很高兴,我发现自己的答案:)))
if (!isset($_SESSION['category'])) {
$_SESSION['category'] = 1;
$category = $_SESSION['category'];
}
else {
if($_SESSION['category'] < $cat_ROWS_number) {
$_SESSION['category']++;
$category = $_SESSION['category'];
}
}
但是,感谢大家的快速作出回应! ! :)
非常感谢! :)这正是我最终使用的,然后当我看到你的回复时,我知道我在会议中做了最好的事情。无论如何,谢谢! ;) – Robert
没问题:)从来没有疼痛的帮助。会议对于这类事情是完美的。感谢您将我的答案标记为解决方案! – toon81