【发布时间】:2017-05-09 16:58:48
【问题描述】:
我正在制作一个将值写入 TXT 数据库的 php 表单。 在表单中有多个复选框 (Zona),可以在更多选项中进行选择。如何将所有选定的值写入数据库?
我的代码:
表格:
<html>
<body>
<form enctype="multipart/form-data" action="action.php" method="post">
<label for="guasto">Guasto</label>
<input type="text" id="guasto" name="guasto" />
<input type="checkbox" name="zona" value="zona 1"> zona 1<br>
<input type="checkbox" name="zona" value="Zona 2" > zona 2<br>
<input type="checkbox" name="zona" value="Zona 3" > zona 2<br>
<label for="causa">Causa Guasto</label>
<input type="text" id="causa" name="causa" />
<label for="risoluzione">Tempi di risoluzione</label>
<input type="text" id="risoluzione" name="risoluzione" />
<input type="submit" name="Salva" value="Salva" />
</form>
</form>
</body>
</html>
Action.php
include("setting.php");
/*************************
SAVE
**************************/
if(isset($_POST['Salva']))
{
if(!is_writable($my_database_txt)){
exit("The file does not have write permissions!");
}
//
$bad_char = array("|", "\r\n", "\r", "\n");
$guasto = str_replace($bad_char, "", $_POST['guasto']);
$zona = str_replace($bad_char, "",$_POST['zona']);
$causa = str_replace($bad_char, "", $_POST['causa']);
$risoluzione = str_replace($bad_char, "", $_POST['risoluzione']);
//
$open = fopen($my_database_txt, "a+");
// scriviamo i dati separati dal carattere separatore
fwrite($open, $guasto."|".$zona."|".$causa."|".$risoluzione."\r\n");
//
fclose($open);
//
header("location: vista.php");
exit;
}
如何保存多个复选框数组?
【问题讨论】:
-
您可以使用 foreach 循环遍历所有 $_POST 变量。如果您首先使用
print_r($_POST);来查看 $_POST 有什么,它将对您有很大帮助。 foreach 的示例foreach($_POST as $currentData){ fwrite($open, $currentData . "\r\n") } -
你需要
name="zona[]"
标签: php arrays database checkbox