我知道这里被问了一百万次,但我一辈子都不会得到它。我在php页面中有一个复选框,代码如下:
CODE UPDATED BELOW
这是一个简单的开关。它应该将checked或not的值发送到php表单onff-switch.php,这样表单就可以用以下代码发布到MySql表:[UPDATED]
CODE UPDATED BELOW
第一个问题是,如果我使用$con,我会通过终端收到错误。它告诉我有语法错误,尽管我已经在w3schools.com上仔细检查过了
除此之外,当选中该框时,该值应为ON,如果未选中,则该值为OFF,并且应在数据库表中更新。
更新:我已经将所有元素移动到一个单独的页面上,如下所示,但仍然没有发布到数据库:
<?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);
?>
<form action="" method="post">
<div class="onoffswitch">
<input type="checkbox"
name="onoffswitch"
class="onoffswitch-checkbox"
id="myonoffswitch"
value="on"
checked
>
<label class="onoffswitch-label" for="myonoffswitch">
<div class="onoffswitch-inner"></div>
<div class="onoffswitch-switch"></div>
</label>
</div>
</form>
对于Db连接,您在末尾放上双括号。删除
$con=mysqli_connect("localhost","config","password","mysql_db");
您通过元素的名称而不是值来调用元素,因此在使用$_POST调用检索数据时,它将是"onoffswitch"
$scanningonoff = mysqli_real_escape_string($_POST['onoffswitch']);
更改此-
$scanningonoff = mysqli_real_escape_string($_POST['onoffswitch']);
$sqlon="INSERT INTO configuration (scanning) VALUES ('$scanningon')";
打字-
1) $con=mysqli_connect("localhost","config","password","mysql_db"));
^ extra bracket
2) if (isset($_POST['onoffswitch'])) {
{ ^ extra bracket
mysqli_query($con,$sqlon);
}
else {
mysqli_query($con,$sqloff);
}
试试这个
<?php
$con=mysqli_connect("localhost","config","password","mysql_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);
?>