Format non autorisé. Seuls les fichiers JPG, PNG et PDF sont acceptés.
"; $has_error = true; } elseif ($file_size > $max_size) { $message_status = "Le fichier est trop volumineux (maximum 5 Mo).
"; $has_error = true; } else { $upload_dir = 'UPLOADS/'; if (!is_dir($upload_dir)) { mkdir($upload_dir, 0777, true); } $safe_file_name = time() . '_' . preg_replace('/[^a-zA-Z0-9.\-_]/', '', $file_name); $target_path = $upload_dir . $safe_file_name; if (move_uploaded_file($file_tmp_name, $target_path)) { $file_path = $target_path; } else { $message_status = "Erreur lors de la sauvegarde du fichier.
"; $has_error = true; } } } if (!$has_error) { try { $host = '172.22.0.4'; $dbname = 'OpenPlanetsMaps'; $db_user = 'root'; $db_pass = 'admin123'; $options = [PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", PDO::ATTR_EMULATE_PREPARES => false]; $pdo = new PDO("mysql:host=$host;port=3306;dbname=$dbname;charset=utf8;protocol=tcp", $db_user, $db_pass, $options); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare("INSERT INTO CONTACT (email, objet, demande, fichier, date_demande) VALUES (?, ?, ?, ?, NOW())"); $stmt->execute([$email, $subject, $message, $file_path]); $message_status = "Votre demande a été enregistrée avec succès dans la base de données !
"; } catch (PDOException $e) { $message_status = "Erreur de base de données : " . htmlspecialchars($e->getMessage()) . "
"; } } } ?>