Vérification de disponibilité puis insertion

Petit nouveau ! | 1 Messages

11 févr. 2021, 18:15

Bonjour à tous,

j'ai un soucis au niveau d'un script, j'explique je suis débutant sur PHP et je suis sur un projet de création de plateforme pour la gestion d'un hôtel.

De manière générale, je ne reçois pas de message d'erreurs au moment de l'exécution de mon script, mais j'ai deux problèmes.

1/ Ma requête vérification ne fonctionne pas.

2/ Ma requête insertion ne fonctionne pas non plus. ("Ici j'ai pourtant repris le script de ma page d'inscription, qui fonctionne bien"

Est-ce que le problème se situe au niveau de la compatibilité des dates (variables php et celles captées par $_POST? )

La table Mysql est composée des champs: id (INT), date_arrivee(date) , date_depart(date), jours(INT), adultes(VARCHAR), enfants(VARCHAR), nom(VARCHAR), prenom(VARCHAR), email(VARCHAR), telephone(VARCHAR), chambre(VARCHAR))

Merci pour votre aide.
<?php

session_start();

if(isset($_POST['confirmation'])){

$con=mysqli_connect('','','');

$bd=mysqli_select_db($con,"db");

$date1=mysqli_real_escape_string($con, $_POST['date1']);

$date2=mysqli_real_escape_string($con, $_POST['date2']);

$jours=mysqli_real_escape_string($con, $_POST['jours']);

$adulte=mysqli_real_escape_string($con, $_POST['adulte']);

$enfant=mysqli_real_escape_string($con, $_POST['enfant']);

$nom=mysqli_real_escape_string($con, $_POST['nom']);

$prenom=mysqli_real_escape_string($con, $_POST['prenom']);

$email=mysqli_real_escape_string($con, $_POST['email']);

$telephone=mysqli_real_escape_string($con, $_POST['telephone']);

$chambre=mysqli_real_escape_string($con, $_POST['chambre']);

    $sql="SELECT count(*) FROM reservations WHERE chambre=$chambre AND (

    ($date1 <= date_arrive AND $date2 <= date_depart) OR

    ($date1 <= date_arrive AND $date2 >= date_depart) OR

    ($date1 >= date_arrive AND $date2 >= date_depart) OR

    ($date1 >= date_arrive AND $date2 <= date_depart)

    )";

    $result=mysqli_query($con, $sql);

    $verif=mysqli_fetch_assoc($result);

    if(!$verif[0]==0)

    {

        echo "La chambre est occupée durant cette période";

    }

    else

    {

        $sqli ="INSERT INTO reservations(date_arrive,date_depart,jours,adultes,enfants,nom,prenom,email,telephone,chambre) values('".$date1."','".$date2."','".$jours."','".$adulte."','".$enfant."','".$nom."','".$prenom."','".$email."','".$telephone."','".$chambre."')";

        $reserv=mysqli_query($con, $sqli);

    }

}

?>

Mammouth du PHP | 2703 Messages

11 févr. 2021, 19:49

il faut debuguer, ajouter un
echo $sql;
l'éxécuter dans phpmyadmin.
idem avec $sqli