[英]Save checkbox selected value to database PHP
我已經開發了一個程序,可以將復選框的選中值保存到數據庫中。
所選值未正確傳遞到數據庫。 代碼中沒有語法錯誤。
<?php
$link = mysqli_connect("localhost", "root", "123456", "database");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>
<form action="#" method="post">
<input type="checkbox" name="check_list[]" value="C/C++"><label>C/C++</label><br/>
<input type="checkbox" name="check_list[]" value="Java"><label>Java</label><br/>
<input type="checkbox" name="check_list[]" value="PHP"><label>PHP</label> <br/>
<input type="submit" name="submit" value="Submit"/>
</form>
<?php
if(isset($_POST['submit']))
{//to run PHP script on submit
if(!empty($_POST['check_list']))
{
foreach($_POST['check_list'] as $selected)
{
if(isset($_POST['PHP'])) {
$stmt = $link->prepare('INSERT INTO `checkbox` (`php_value`) VALUES ($selected)');
$stmt->bind_param('s', $stmt);
$stmt->execute();
}
} // if(isset($_POST['submit']))
mysqli_close($link);
}
}
?>
$_POST['PHP']
不存在要檢查的地方,這就是為什么復選框值不會保存到數據庫的原因。
更改:
if(isset($_POST['PHP']))
附:
if($selected!="") {
更新的代碼:
<?php
$link = mysqli_connect("localhost", "root", "123456", "database");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>
<form action="" method="post">
<input type="checkbox" name="check_list[]" value="C/C++"><label>C/C++</label><br/>
<input type="checkbox" name="check_list[]" value="Java"><label>Java</label><br/>
<input type="checkbox" name="check_list[]" value="PHP"><label>PHP</label> <br/>
<input type="submit" name="submit" value="Submit"/>
</form>
<?php
if(isset($_POST['submit']))
{//to run PHP script on submit
if(!empty($_POST['check_list'])) {
foreach($_POST['check_list'] as $selected) {
if($selected!="") {
$stmt = $link->prepare('INSERT INTO `checkbox` (`php_value`) VALUES (?)');
$stmt->bind_param('s', $selected);
$stmt->execute();
$stmt->close();
}
}
mysqli_close($link);
}
}
?>
還添加了適當的縮進以提高可讀性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.