IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

php enregistre plusieurs fois dans la base de données


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Femme Profil pro
    en formation
    Inscrit en
    Septembre 2019
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Septembre 2019
    Messages : 90
    Par défaut php enregistre plusieurs fois dans la base de données
    Bonjour
    Il m'arrive un truc étrange, quand l'utilisateur sélectionne une ville elle est enregistrer 5 fois dans ma base de données. de quoi cella pourrais bien venir ?

    INDEX.PHP
    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
    <section class="global">
     
            <div class="where"> <!-- Fomrulaire choix de la déstination -->
     
                    <button class="destination">Où allez-vous?</button>
     
                    <ul id="openlist">
                        <?php while($row = $lishotel->fetch(PDO::FETCH_ASSOC)) : 
                            $liste= $row['nom']?>
                            <li>
                                <form action="<?php yourchoicecity(); ?>" method="post"> 
                                    <input type="submit" name="choicecity" value=<?php echo $liste?> >
                                    <?php endwhile ?> 
                                </form> 
                                </li>    
                    </ul>    
            </div>
     
            <div class="date">
            <form action="class-reservation.php" method="get"><!-- fomulaire de séléction des dates de debut et fin-->
                    <input class="destination" type="date" name="datedebut" >           
                    <input class="destination" type="date" name="datefin">
                </div>         
     
                <div class="search">    
                    <input class="destination" type="submit" value="Rechercher">
                </div>
            </form>
    GETDATA.PHP
    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
    <?php
    if(isset($_POST["choicecity"])){
            try {
                // se connecter à mysql
                $pdo = new PDO("mysql:host=$servername;dbname=$dbase","$username","$password");
                // récupérer les valeurs 
                $choicecity = $_POST["choicecity"];
                //$datedebut = $_POST["datedebut"];
                //$datefin =$_POST['datefin'];
                $today = date("Y-m-d"); 
                $city = "INSERT INTO `reservation`(`creation`, `debut`, `fin`, `choicecity`) VALUES ('$today', '$today', '$today', '$choicecity') ";
                $resultcity = $pdo->exec($city);
                if($resultcity !== false)
                {  
                   $choice= strtoupper($choicecity);/*transformation de la chaine de caractere en majuscule */              
                   $msg ="'VOUS AVEZ CHOISI LA VILLE:  $choice <BR> VOUS ALLEZ POUVOIR CHOISIR LES DATES DE RESERVATION'";
     
                }
                else
                {
                $msg =  "Erreur lors de la phase de renseignement des tables reservation.";
                }
                if($msg != '')
                echo $msg;
              ?> <META http-equiv="refresh" content="URL=index.php"> <?php       
     
            }
            catch (PDOException $exc) {
                echo $exc->getMessage();
                exit;
            }
        }        
      }

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 506
    Par défaut
    Bonjour,

    Dèjà la fermeture de la boucle while n'est pas au bon endroit, il faut la fermer après le dernier <li> :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <ul id="openlist">
                 <?php while($row = $lishotel->fetch(PDO::FETCH_ASSOC)) : 
                   $liste= $row['nom']?>
                   <li>
                        <form action="<?php yourchoicecity(); ?>" method="post"> 
                             <input type="submit" name="choicecity" value=<?php echo $liste?> >
     
                        </form> 
                    </li>
                   <?php endwhile ?> 
    </ul>

    Apprends l'habitude d'inspecter tes éléments html dans l'inspecteur du navigateur pour corriger ce genre d'erreur...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/11/2007, 12h19
  2. Comment enregistrer dates NULL dans la base de données ?
    Par Arfigado dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/09/2006, 17h58
  3. Réponses: 1
    Dernier message: 30/07/2006, 11h49
  4. Réponses: 3
    Dernier message: 01/07/2006, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo