Проблема в том, что запрос в action.php выполняется, но таблица не обновляется, ошибок также не выводится.
Folder/user.php:
....
<div class="col-md-6">
<div class="form-group label-floating">
<form class="form-inline" action="../folder/action.php" method="post">
<input type="number" class="form-control input-sm" name="days" placeholder="Days" style="width: 70px;" required>
<input type="text" class="form-control input-sm" name="reason" placeholder="Reason" required>
<input type="hidden" name="userid" value="'.$id.'">
<input type="submit" class="btn btn-simple btn-round btn-xs" name="action" value="Do action">
</form>
</div>
</div>
....
Folder/action.php:
<?php
include_once $_SERVER['DOCUMENT_ROOT'].'/configuration/main.php'; // главные настройки, включающие подключение, с ними все ок
if ($_SESSION['admin']<3) exit(redirect("../folder/",2)); // проверка сессии, выход при условии
$mysqli=connect(); // подключение к бд
$id=$mysqli->real_escape_string($_POST['userid']);
$days=$mysqli->real_escape_string($_POST['days']);
$actiontime=time()+(3600*24)*$days;
$reason=$mysqli->real_escape_string($_POST['reason']);
// ^ преобразование информации из folder/user.php
if ($id<1||$days<0) exit(redirect("../folder/",2));
if ($days>'0')
$mysqli->query("insert into `action`(`userid`,`actionid`,`reason`,`time`) values ('".$id."','".$_SESSION['id']."','".$reason."','".$actiontime."')");
else
$mysqli->query("insert into `action`(`userid`,`actionid`,`reason`,`time`) values ('".$id."','".$_SESSION['id']."','".$reason."','0')");
// запросы шредингера
$mysqli->close(); // закрытие подключения к бд
redirect("../folder/user?id=".$id."",2); // возврат к folder/user.php
?>
Если скрипт выполнятся, он редиректит как и должен (последняя строка в action.php), но таблица action не содержит изменений.
Проверил все переменные, все они выводятся верно. Подключение к БД также верно.
Советую написать sql запрос в каком-нибудь редакторе и выполнить его там же (хоть phpMyAdmin). Если данные запишутся, пробуйте выполнить тот же запрос на стороне php. Если ок, то копайте дальше поэтапно.
Рекомендую вообще использовать PDO (чтобы забыть про sql инъекции) или какую-нибудь библиотеку для удобной работы. А, и добавление и т.п. с базой нужно через транзакции делать.
$connection->autocommit(false);
$query = ""; //sql query here
$result = $connection->query($query);
if (!$result) exit($connection->error);
if (!$connection->commit()) exit($connection->error);
Ну и чем писать так values ('".$id."', , можно сделать красивее и удобнее вот так values ('${id}', или values ('$id',. Но первый вариант чуточку быстрее.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости