Bonjour, je souhaite lier un site sur l'hébergeur netlify à une base de données lié directement à un formulaire de mon site. Cette base de donnée est sur l'hébergeur Alwaysdata.

J'ai la page traitement.php suivante*:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  <?php
// Connexion à la base de données
$servername = "phpmyadmin.alwaysdata.com";
$username = "root";
$password = "Azerty";
$dbname = "test_réservation";
 
$conn = new mysqli($servername, $username, $password, $dbname);
 
if ($conn->connect_error) {
    die("Erreur de connexion à la base de données : " . $conn->connect_error);
}
 
// Vérification si le formulaire est soumis
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Récupération des données envoyées par le formulaire
    $nom = $_POST["nom"];
    $email = $_POST["email"];
    $telephone = $_POST["telephone"];
    $destination = $_POST["destination"];
    $categorie = $_POST["categorie"];
    $date_depart = $_POST["date_depart"];
    $date_retour = $_POST["date_retour"];
    $nb_personnes = $_POST["nb_personnes"];
    $commentaires = $_POST["commentaires"];
 
    // Préparation de la requête SQL d'insertion
    $sql = "INSERT INTO reservation (nom, email, telephone, destination, categorie, date_depart, date_retour, nb_personnes, commentaires)
            VALUES ('$nom', '$email', '$telephone', '$destination', '$categorie', '$date_depart', '$date_retour', '$nb_personnes', '$commentaires')";
 
    // Exécution de la requête SQL
    if ($conn->query($sql) === TRUE) {
        echo "Réservation enregistrée avec succès.";
    } else {
        echo "Erreur lors de l'enregistrement de la réservation : " . $conn->error;
    }
}
 
// Fermeture de la connexion à la base de données
$conn->close();
?>
Et la page API.php suivante*:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
 
 
<?php
header('Content-Type: application/json');
 
// Étape 2 : Inclure le fichier de connexion
require_once 'connexion.php';
 
// Étape 3 : Récupérer toutes les réservations
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    $query = $con->query("SELECT * FROM réservation");
 
    if ($query) {
        $reservations = [];
        while ($row = $query->fetch_assoc()) {
            $reservations[] = $row;
        }
 
        $response['error'] = false;
        $response['reservations'] = $reservations;
        $response['message'] = 'La récupération des réservations a réussi.';
    } else {
        $response['error'] = true;
        $response['message'] = 'Échec de la récupération des réservations.';
    }
 
    echo json_encode($response);
}
 
// Récupérer une réservation par nom
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['nom'])) {
    $nom = $_POST['nom'];
    $query = $con->prepare("SELECT * FROM réservation WHERE nom = ?");
    $query->bind_param("s", $nom);
 
    if ($query->execute()) {
        $result = $query->get_result();
 
        if ($result->num_rows > 0) {
            $reservation = $result->fetch_assoc();
            $response['error'] = false;
            $response['reservation'] = $reservation;
            $response['message'] = 'La récupération de la réservation par nom a réussi.';
        } else {
            $response['error'] = true;
            $response['message'] = 'Aucune réservation trouvée avec ce nom.';
        }
    } else {
        $response['error'] = true;
        $response['message'] = 'Échec de la récupération de la réservation par nom.';
    }
 
    echo json_encode($response);
}
 
$con->close();
 
// Exemple d'envoi d'une requête POST à api.php depuis JavaScript pour récupérer une réservation par nom
const nomReservation = 'John Doe'; // Remplacez 'John Doe' par le nom souhaité
 
fetch('api.php', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    nom: nomReservation
  })
})
  .then(response => response.json())
  .then(data => {
    // Traitement des données de la réponse
    console.log(data);
  })
  .catch(error => {
    // Gestion des erreurs
    console.error('Une erreur s\'est produite:', error);
  });
 
?>


J'ai l'erreur suivante*:

Cette page du site*[...].netlify.app*est introuvable
Aucune page Web trouvée à l'adresse*:https://[...]/traitement.php



HTTP ERROR 404

Pourtant la page se situe dans le même répertoire que les autres fichiers dans mon dêpot github*.

Et le journal de déploiement de netlify me dit que tout est «*complet*» (au niveau de l'initialisation, du bâtiment, du déploiement, du nettoyage et du post-traitement)


Pouvez vous me clarifier l'erreur s'il-vous-plaît*? Merci