AAA*_*AAA 0 php checkbox session
我有名称状态的复选框.这就是我这样做的方式:
$_SESSION['statuses'] = mysql_real_escape_string($_POST['statuses']);
Run Code Online (Sandbox Code Playgroud)
当我插入它时,我正在这样做:
$insert = "INSERT INTO submitted (statuses)
VALUES ('".$_SESSION['statuses']."')";
$query = mysql_query($insert) or die ("Error: ".mysql_error());
Run Code Online (Sandbox Code Playgroud)
问题是没有被检查的内容被插入到数据库中,所以如何插入已检查的条目?
NEW/UPDATE:
这是复选框形式的样子:
<input type="checkbox" name="statuses" value="something">
<input type="checkbox" name="statuses" value="something">
<input type="checkbox" name="statuses" value="something">
<input type="checkbox" name="statuses" value="something">
<input type="checkbox" name="statuses" value="something">
<input type="checkbox" name="statuses" value="something">
Run Code Online (Sandbox Code Playgroud)
也许问题可能在于您为表单撰写的标记.这是和例子:
<form action="checkbox-form.php" method="post">
Select your options<br />
<input type="checkbox" name="options[]" value="A" />A<br />
<input type="checkbox" name="options[]" value="B" />B<br />
<input type="checkbox" name="options[]" value="C" />C<br />
<input type="submit" name="formSubmit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
请注意,options设置为options[].这允许所有选中选项的数组出现在POST超级变量中.
如果你这样做:
var_dump($_POST['options']);
Run Code Online (Sandbox Code Playgroud)
然后,您应该获得一个包含所有已检查值的数组.
然后你可以这样做:
foreach($_POST['options'] as &$option){
mysql_real_escape_string($option);
}
Run Code Online (Sandbox Code Playgroud)
然后插入数据库:
$insert = "INSERT INTO submitted (statuses)
VALUES ('". implode(",", $_POST['options']) ."')";
$query = mysql_query($insert) or die ("Error: ".mysql_error());
Run Code Online (Sandbox Code Playgroud)
更新:在表单的每个页面上,您应该有一些类似于转义值并将其保存到会话中的内容.然后,这会将每个页面的值保存到用户的会话中:
//Page 1
foreach($_POST['options'] as $option){
$_SESSION['options'][] = mysql_real_escape_string($option);
}
//page 2
$_SESSION['SOME_OTHER_VALUE_FROM_TEXT_BOX'] = mysql_real_escape_string($_POST['SOME_OTHER_VALUE_FROM_TEXT_BOX');
//Final page:
//Everything is now stored in SESSION, so you can use them there:
//For example, display the value of options:
var_dump($_SESSION['options']); //etc
//So here, you would just run your sql queries to insert the appropriate data into your databse.
Run Code Online (Sandbox Code Playgroud)