Page 1 sur 1

Connexion base de donnée

Posté : 28 janv. 2018, 18:08
par gigmarc
Bonjour,

Je sollicite votre aide pour une dernière fois pour savoir pourquoi je ne suis pas capable de faire les entrées de données dans ma base de donnée voici plus bas pour commencer ma structure de base de donnée et par la suite mon fichier formulaire pour me connecter.

Il me faudrait juste la correction pour que je puisse être capable de faire me entrée dans ma base de donnée car j'ai le message d'erreur suivant quand j'essaye.

Erreur HTTP 500
Étrange... Le site web ne parvient pas à afficher cette page
Il se peut que le site soit en cours de maintenance ou qu’une erreur de programmation se soit produite.

Cela est une erreur de programmation car le site fonctionne, je crois qu'il me manque un petit quelques dans mon fichier formulaire ou une erreur de syntaxe ou l'ordre que je l'ai écris.

Ma base de donnée

Code : Tout sélectionner

-- phpMyAdmin SQL Dump -- version 4.7.0 -- https://www.phpmyadmin.net/ -- -- Host: localhost:3306 -- Generation Time: Jan 28, 2018 at 03:12 AM -- Server version: 5.6.34-log -- PHP Version: 7.1.5 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `restaurant` -- -- -------------------------------------------------------- -- -- Table structure for table `reservation` -- CREATE TABLE `reservation` ( `nombres` smallint(5) NOT NULL, `date` date NOT NULL, `heures` time NOT NULL, `courriel` varchar(50) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `reservation` -- INSERT INTO `reservation` (`nombres`, `date`, `heures`, `courriel`) VALUES (9, '2018-01-23', '17:00:00', '[email protected]'), (10, '2018-01-24', '20:00:00', '[email protected]'), (40, '2018-01-22', '14:00:00', '[email protected]'), (15, '2018-01-25', '13:00:00', '[email protected]'), (14, '2018-01-31', '11:00:00', '[email protected]'), (25, '2018-01-31', '15:00:00', '[email protected]'), (10, '2018-01-30', '17:00:00', '[email protected]'); -- -- Indexes for dumped tables -- -- -- Indexes for table `reservation` -- ALTER TABLE `reservation` ADD KEY `index` (`nombres`); COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Mon fichier Formulaire

Code : Tout sélectionner

<?php $link = mysqli_connect("localhost", "root", "password", "restaurant"); // Check connection if($link === false){ die("ERROR: Could not connect. " . mysqli_connect_error()); } // Escape user inputs for security $courriel = mysqli_real_escape_string($link, $_REQUEST['courriel']); $nombres = mysqli_real_escape_string($link, $_REQUEST['nombres']); $date = mysqli_real_escape_string($link, $_REQUEST['date']); $heures = mysqli_real_escape_string($link, $_REQUEST['heures']); $sql = mysql_query("SELECT COUNT(nombre as AS UNSIGNED) AS total FROM reservation WHERE date=$date AND nombres=$nombres"); $row = mysql_fetch_array($sql); $total = $row['total']; if ($total > 5 AND $nombres == 2) { echo ' <i>Le restaurant est complet, veuillez choisir une autre heures ou journée</i><br>'; } else { $sql = "INSERT INTO reservation (courriel, nombres, date, heures) VALUES ('$courriel', '$nombres', '$date', '$heures' )"; if(mysqli_query($link, $sql)){ echo "Votre réservation à bien été complété avec succès!"; header("Location: reservation.php"); } else{ echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); } } if ($total > 5 AND $nombres == 4) { echo ' <i>Le restaurant est complet, veuillez choisir une autre heure ou journée</i><br>'; } else { $sql = "INSERT INTO reservation (courriel, nombres, date, heures) VALUES ('$courriel', '$nombres', '$date', '$heures' )"; if(mysqli_query($link, $sql)){ echo "Votre réservation à bien été complété avec succès!"; header("Location: reservation.php"); } else{ echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); } } if ($total > 2 AND $nombres == 8) { echo ' <i>Le restaurant est complet, veuillez choisir une autre heure ou journée</i><br>'; } else { $sql = "INSERT INTO reservation (courriel, nombres, date, heures) VALUES ('$courriel', '$nombres', '$date', '$heures' )"; if(mysqli_query($link, $sql)){ echo "Votre réservation à bien été complété avec succès!"; header("Location: reservation.php"); } else{ echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); } } //Variables du formulaire pour envoi du courriel $destinataire = "[email protected]"; // adresse mail du destinataire $sujet = "Votre réservation"; // La réservation du Client $message = "Bonjour, nous vous confirmons que votre réservation à bien été faite selon votre demande"; // message qui dira que la réservation à bien été complété // maintenant, on crée l'en-tête du mail $header = "From: [email protected]\r\n"; $header .= "Disposition-Notification-To:[email protected]"; // c'est ici que l'on ajoute la directive mail ($destinataire, $sujet, $message, $header); // on envois le mail // close connection mysqli_close($link); ?>
Merci!

Re: Connexion base de donnée

Posté : 28 janv. 2018, 22:21
par @rthur
Bonjour,

Regarde dans les logs de ton serveur PHP (fais un phpinfo() si tu ne sais pas où est situé le fichier log) car avec une erreur 500 tu as forcément un message dans les logs.

Par ailleurs, un conseil en passant : la fonction header('location pour faire une redirection doit _toujours_ être suivi d'un exit; pour être sûr qu'aucun autre code n'est exécuté derrière, ça peut t'éviter d'autres soucis
header("Location: ...");
exit;