簡體   English   中英

復選框/開關無法正常運行

[英]Checkbox / Switch not functioning properly

我在帶有代碼的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);
?> 
if($scanningvalue=='') $scanningvalue='off';

您已在上面添加了代碼,在查詢之后,應改為在設置$ scanningvalue值和其他內容之后添加它,不需要mysql_real_escape_string,因為您正在設置該值,因此沒有SQL注入的問題。

如果要打開/關閉,為什么不使用單選按鈕而不是復選框?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM