我对下面的代码段有两个要求。
单击复选框时,var
将递增。 - 完成
如果没有复选框,var
应保存以前的号码
检查。 - 未完成
目前,如果不选中var的复选框,则会更改回1。
代码段:
if (isset($_POST['var'])) {
$var = $var + 1;
} else {
$var = $_POST['var'];
}
答案 0 :(得分:1)
您可以考虑将会话变量用于您的目的。
首先,您可以像这样开始新会话:
session_start();
然后,你可以通过以下方式做你想做的事情:
// Initialize $_SESSION['var'], if needed
if(!isset($_SESSION['var'])) {
$_SESSION['var'] = 0;
}
if (isset($_POST['var'])) {
// Increment the var
$var = $_SESSION['var'] + 1;
// Save the var as a session variable
$_SESSION['var'] = $var;
} else {
// Restore the var from the session variable
$var = $_SESSION['var'];
}
此外,您可能希望销毁会话数据。它在PHP中执行如下:
session_destroy();
请考虑到使用PHP会话的良好做法是一个完全独立的问题,您可以使用谷歌。
Click for some more sandbox-level info on PHP Sessions
UPD:这是一个完整的PHP / HTML代码,用于您正在寻找的工作示例:
<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form method="POST">
Increment $var <input type="checkbox" name="var" value="var">
<input type="submit" value="Submit">
</form>
<p>
<?php
// Initialize $_SESSION['var'], if needed
if(!isset($_SESSION['var'])) {
$_SESSION['var'] = 0;
}
if (isset($_POST['var'])) {
// Increment the var
$var = $_SESSION['var'] + 1;
// Save the var as a session variable
$_SESSION['var'] = $var;
} else {
// Restore the var from the session variable
$var = $_SESSION['var'];
}
echo $var;
?>
</p>
</body>
</html>
请告诉我是否有帮助。