'S', 'š'=>'s', 'Đ'=>'Dj', 'đ'=>'dj', 'Ž'=>'Z', 'ž'=>'z', 'Č'=>'C', 'č'=>'c', 'Ć'=>'C', 'ć'=>'c', 'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E', 'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U', 'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss', 'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c', 'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'ý'=>'y', 'þ'=>'b', 'ÿ'=>'y', 'Ŕ'=>'R', 'ŕ'=>'r', ); return strtr($string, $table); } function mysqli_result($res, $row, $field=0) { $res->data_seek($row); $datarow = $res->fetch_array(); return $datarow[$field]; } define ('LOCKDIR', $_SERVER['DOCUMENT_ROOT']); if (isset($_POST["objet_decision"]) && isset($_POST["demandeur_decision"]) && isset($_POST["date_decision"]) && !empty($_POST["objet_decision"]) && !empty($_POST["demandeur_decision"]) && !empty($_POST["date_decision"])) { try { // 1ere Etape : on tente d'ouvrir un fichier en écriture, et on attend tant que ce n'est pas possible $fichier_verrouille = fopen(LOCKDIR."/decisions/svg_decision", "w+"); // 2eme Etape : Lorsque le fichier est ouvert en écriture, on le verrouille if (flock($fichier_verrouille, LOCK_EX)) { // puis on traite l'enregistrement de l'arrete // recuperation du dernier numero d'arrete de l'annee en cours $annee_en_cours = date("Y"); $sql_recherche = 'SELECT MAX(`nr_decision`) FROM `decisions` WHERE YEAR(`date_decision`)=' . $annee_en_cours . ';'; $res_recherche = mysqli_query($connexion, $sql_recherche); // Resultat unique : cas normal if (mysqli_num_rows($res_recherche)==1) { // Incrementation du numero d'arrete $nr_dernier_decision = mysqli_result($res_recherche,0,"MAX(`nr_decision`)"); $nr_decision = $nr_dernier_decision+1; } // Aucun résultat : début d'année elseif (mysqli_num_rows($res_recherche)==0) { // PREMIER ARRETE DE L'ANNEE !!! $nr_decision = 1; } // Plusieurs résultat : ERREUR else { echo "Erreur sur mysqli_num_rows !"; //ERREUR return false; } // insertion de l'arrete dans la bdd $sql = 'INSERT INTO `decisions` (`id_decision`, `nr_decision`, `objet_decision`, `demandeur_decision`, `date_decision`, `annulation_decision`) VALUES (NULL, "'. $nr_decision .'", "'. $_POST["objet_decision"] .'", "'. $_POST["demandeur_decision"] .'", STR_TO_DATE("'. $_POST["date_decision"] . '", "%d/%m/%Y"), 0);'; $res = mysqli_query($connexion, $sql); // liberation du verrou flock($fichier_verrouille, LOCK_UN); } else { // si le fichier est déjà verrouille, on retourne sur la page d'ajout (temporaire : a ameliorer) header("Location : ajout.php"); } // fermeture du fichier fclose($fichier_verrouille); header("Location: index.php"); } catch (Exception $e) { header("Location: index.php?savefail=1"); } } else { header("Location: index.php?savefail=2"); } ?>