I want to INSERT a few records in my tabel, for this I use mysqli_prepare
, bind_param
and execute
.
In element inspection
he gives a 500 internal server error
in the params
he gives all the data I need.
I hope you guys can help me, here is my code:
PHP
<form id="addFolder">
<div class="form-group col-md-6">
<label for="folderName">Map naam</label>
<input type="text" class="form-control" id="folderName" placeholder="Map naam">
</div>
<div class="form-group col-md-6">
<label for="selectRootFolder">Selecteer root map</label>
<select class="form-control" id="selectRootFolder">
<?php
getRootFolders();
?>
</select>
</div>
<div class="form-group col-md-6">
<label for="selectIcon">Selecteer icon <span class="fa fa-question-circle" id="fa-ask"></span></label>
<input type="text" class="form-control" id="selectIcon" placeholder="fa fa-icon">
</div>
<br><br><br>
<div class="form-group col-md-4">
<div class="checkbox">
<label>
<input type="checkbox" id="isRootMap"> Is root map
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="active"> Actief
</label>
</div>
</div>
<input type="submit" class="btn btn-info" value="Voeg toe" style="float:right; margin-top: 4%;">
</form>
jQuery
$("#addFolder").on("submit", function(e) {
e.preventDefault();
var folderName = $("#folderName").val();
var rootId = $("#selectRootFolder").find("option:selected").data("id");
var isRoot = $("#isRootMap").is(":checked");
var icon = $("#selectIcon").val();
var active = $("#active").is(":checked");
var array = [folderName, rootId, isRoot, icon, active];
$.ajax({
method: "POST",
url: "../admin/handlers/addFolderHandler.php",
data: { data: array }
}).done(function(data) {
if (data == true)
{
window.location.href = "index.php";
}
});
});
Handler
<?php
$gegevens = $_POST['data'];
$folderName = $gegevens[0];
$rootId = ($gegevens[3] == true) ? NULL : $gegevens[1];
$isRoot = ($gegevens[3] == true) ? 1 : 0;
$icon = ($gegevens[3] == true) ? $gegevens[4] : "";
$active = ($gegevens[5] == true) ? "1" : "0";
if (addNewFolder($rootId, $isRoot, $folderName, $icon, $active))
{
echo true;
}
else
{
echo false;
}
?>
Function
function addNewFolder($rootId, $isRoot, $folderName, $icon, $active)
{
global $con;
$query = mysqli_prepare($con, "INSERT INTO folders (parent_id, is_root, `name`, icon, active) VALUES (?, ?, ?, ?, ?)");
$query->bind_param('ddssi', $rootId, $isRoot, $folderName, $icon, $active);
if ($query->execute())
{
return true;
}
else
{
return false;
}
}