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*:
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 <?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(); ?>
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
Partager