Menu

Mon if ne fonctionne pas sur le serveur [Résolu]

-
Bonjour,

J'espère que vous allez bien.

J'ai un problème ce jour, je veux pouvoir après un update faire un insert mais mon if ne fonctionne pas.

ça ne fonctionne pas.

Voici mon code ;

<?php
      if(isset($_POST['co']))
      { 
       $st = $_POST['conf'];
       
        
       
       if($st=="Valider")
       {
         $urb = "UPDATE `reservations` SET `stats`='$st' WHERE idreserv = '$id'";
         
        if($c=="NO" )
        {
         echo "<script type='text/javascript'> alert('Désolé, plus de package disponible')</script>";
        }
        else if($f5 =="NO")
         {
          echo "<script type='text/javascript'> alert('Désolé, Toutes les chambres sont occupées')</script>";
          
         }
        
          
          else if( mysqli_query($conna,$urb))
           { 
            //echo "<script type='text/javascript'> alert('Guest Room booking is conform')</script>";
            //echo "<script type='text/javascript'> window.location='home.php'</script>";
            // $type_of_room = 0;       
             // if($meal=="standard")
              //{
               //$type_of_room = 320;
              
              //}
              //else if($meal=="couple")
              //{
             //  $type_of_room = 220;
             // }
              
              
              
              
              
             // if($bed=="single")
              //{
              // $type_of_bed = $type_of_room * 1/100;
             // }
              //else if($bed=="couple")
             // {
             //  $type_of_bed = $type_of_room * 2/100;
             // }
              
              
              
              
              
             
              
              
              //$ttot = $type_of_room * $days * $nroom;
              //$mepr = $type_of_meal * $days;
              //$btot = $type_of_bed *$days;
              
              //$fintot = $ttot + $mepr + $btot ;
               
               //echo "<script type='text/javascript'> alert('$count_date')</script>";
                 $date = date('Y/m/d');
                 
              $psql = "INSERT INTO `payement`(`id`,`nomclient`, `hoteli`, `tcham`, `cin`, `cout`, `montant`, `id_user`, `datpay`) VALUES ('$id','$fname','$title','$formule','$cin','$cout','$country','$Phonei', '$date')";
              
              if(mysqli_query($conna,$psql))
              { //$notfree="OCCUPE";
               //$rpsql = "UPDATE `chambres` SET `statut`='$notfree',`cusid`='$id' where formule ='$bed' and type='$meal' ";
               //if(mysqli_query($conna,$rpsql))
               //{
               echo "<script type='text/javascript'> alert('Reservation validee')</script>";
               echo "<script type='text/javascript'> window.location='roombook.php'</script>";
               //}
               
               
              }
            
           }
         
                                        
       } 
     
      }
     
         
         
       
      ?>


Je ne sais pas si je me suis tromper quelque part mais ça ne fonctionne pas.

Merci d'avance pour l'aide
Afficher la suite 

Votre réponse

1 réponse

Messages postés
23495
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 décembre 2018
0
Merci
Bonjour,
Lequel de tes if ne fonctionne pas ?
As tu essayé d'afficher le contenu de tes variables pour voir quelles valeurs elles ont ?
As tu activé l'affichage des erreurs php ?

Je t'invite, avant tout.., de commencer par appliquer ce qui est indiqué ici :
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code
jordane45
Messages postés
23495
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 décembre 2018
-
Je peux supposer que ton champ ID est de type auto-incrémenté ...
Il ne faut donc pas le mettre dans l' INSERT..

De plus... pense à gérer les éventuelles erreurs mysqli... par exemple :

  $psql = "INSERT INTO `payement`(`nomclient`, `hoteli`, `tcham`, `cin`, `cout`, `montant`, `id_user`, `datpay`) VALUES ('$fname','$title','$formule','$cin','$cout','$country','$Phonei', '$date')";
              
if(mysqli_query($conna,$psql)){
      echo "<script type='text/javascript'> alert('Reservation validee')</script>";
      echo "<script type='text/javascript'> window.location='roombook.php'</script>";
}else{
  // en cas d'erreurs mysqli
  echo("Error sql - description: " . mysqli_error($conna));
}
Non non le id s'auto incrémente pas ces ont les valeurs d'une table qu'on deverse dans celle ci juste après un update.

Je vais tester avec la gestion des erreurs pour voir ce que ça donne
Bonjour Jordane,

Voici ce qui en ressort :

reser' doesn't have a default value

Je ne sais pas trop ou est la valeur manquante
jordane45
Messages postés
23495
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
5 décembre 2018
-
Cela signifie que dans ta BDD le champ "reser" n'a pas de valeur par défaut définie.
Donc soit tu modifies champ en question dans la table pour lui définir une valeur par défaut.... soit tu le met dans ta requête INSERT ( un chiffre si champ numérique.. ou une chaine vide "" si un champ text/varchar.. ou une Date .. ben si c'est un champ de type date.... )
Ouioui c'était ça le problème.

J'ai inséré une valeur et c'est passé. Merci encore et bon début de semaine
Commenter la réponse de jordane45