我对下面的代码片段有两个要求。
当我单击复选框时,
var
将递增。 - 完成如果复选框未选中,
var
应保存之前的数字 检查。 - 未完成
目前,如果您不选中 var 的复选框,它会变回 1。
代码片段:
if (isset($_POST['var'])) {
$var = $var + 1;
} else {
$var = $_POST['var'];
}
最佳答案
您可以考虑根据您的目的使用 session 变量。
首先,您可以像这样开始新 session :
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'];
}
此外,在某些时候您可能想要销毁 session 数据。它在 PHP 中执行如下:
session_destroy();
请注意,使用 PHP session 的良好做法是一个完全独立的问题,您可以通过谷歌搜索。
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>
请告诉我是否有帮助。
关于php - 基于复选框在 PHP 中是否被选中的变量增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22386787/