Vérification de disponibilité puis insertion

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Vérification de disponibilité puis insertion

Re: Vérification de disponibilité puis insertion

par or 1 » 11 févr. 2021, 19:49

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

Vérification de disponibilité puis insertion

par magelan23 » 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);

    }

}

?>