【发布时间】:2014-04-18 08:20:37
【问题描述】:
我在一个带有代码的 php 页面上有一个开关:
<form action="onoff-switch.php" method="post">
<div class="onoffswitch">
<input type="checkbox"
name="onoffswitch"
class="onoffswitch-checkbox"
id="myonoffswitch" checked
value="on">
<label class="onoffswitch-label" for="myonoffswitch">
<div class="onoffswitch-inner"></div>
<div class="onoffswitch-switch"></div>
</label>
</div>
<input type="submit" name="formSubmit" value="Submit" />
</form>
当被选中时,它应该向 php 页面 onoff-switch.php 发送 ON 或 OFF 值。两个问题,第 15 行是不需要的,但是,除非它在那里,否则表单不会提交任何值。去掉第 15 行,当我选中或取消选中该框时,它应该自行提交。它没有。
此外,onoff-switch.php 给出了值“OFF”的反馈,我不知道它是从哪里得到的,因为代码中没有“OFF”。当然,如果没有选中该框,则应该是该值。
问题是这个复选框哪里出错了?
PHP 代码:
<?php
$con=mysqli_connect("localhost","user","pass","db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if (isset($_POST['formSubmit']))
{
// escape variables for security
$scanningvalue = mysqli_real_escape_string($_POST['onoffswitch']);
$sqlon="INSERT INTO configuration (scanning) VALUES ('$scanningvalue')";
$result=mysqli_query($con, $sqlon);
if($scanningvalue=='') $scanningvalue='off';
if($result)
{
echo "The db operation done (1 record added) and switch value ".$scanningvalue;
}
else
{
echo "The db operation error and switch value ".$scanningvalue;
}
}
mysqli_close($con);
?>
【问题讨论】:
-
可以显示php代码吗?