ОБНОВЛЕНИЕ - Проблема была решена из-за ошибки опечатки в $ param_keyword
Я создал форму, которая принимает несколько значений флажка для вставки в базу данных,Мое соединение с базой данных работает нормально, я могу вставить имя, но не флажки.Я не уверен, где проблема, потому что нет ошибки, и я могу видеть строку флажков.
После нажатия кнопки отправки я печатаю ключевое словоArr, чтобы увидеть значения:
вспомогательные, химические и опасные материалы Что-то пошло не так.Повторите попытку позже.
PHP-запрос
<?php
require_once("includes/dbConfig.php");
// get input when form is submitted, using the clean functon to clean inputs
if ($_SERVER["REQUEST_METHOD"] == "POST") {
//name validation
if (empty(clean($_POST["name"]))) {
$nameErr = "Name is required";
} else {
$name = clean($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/", $name)) {
$nameErr = "Only letters and white space allowed";
}
}
$keyword = $_POST["keyword"];
echo $keywordArr = implode(",", $keyword);
// check input erros before inserting in database
if (empty($nameErr)) {
// Prepare a INSERT statement
$sql = "INSERT INTO site (name,keyword) VALUES (?,?)";
if ($stmt = mysqli_prepare($conn, $sql)) {
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "ss", $param_name, $param_keyword);
// Set parameters
//$param_id = $id;
$param_name = $name;
$parm_keyword = $keywordArr;
if (mysqli_stmt_execute($stmt)) {
// Alert to redirect
echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Successfully Sent!')
window.location.href='index.php';
</SCRIPT>");
} else {
echo "Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Close connection
mysqli_close($conn);
}
?>
HTML-форма
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck1"
value="housekeeping" name="keyword[]">
<label class="custom-control-label" for="customCheck1">Housekeeping</label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck2"
value="procedure" name="keyword[]">
<label class="custom-control-label" for="customCheck2">Procedure (PTW,JSA,
Inspection)</label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck3"
value="chemical and dangerous material" name="keyword[]">
<label class="custom-control-label" for="customCheck3">Chemical & Dangerous
Material</label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck4"
value="confined space" name="keyword[]">
<label class="custom-control-label" for="customCheck4">Confined
Space</label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck5"
value="scaffolding" name="keyword[]">
<label class="custom-control-label" for="customCheck5">Scaffolding</label>
</div>
<input type="submit" name="submit" value="Submit">
</form>