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 :

Update formulaire


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien en télécommunication
    Inscrit en
    Mai 2013
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien en télécommunication
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 199
    Points : 73
    Points
    73
    Par défaut Update formulaire
    Bonjour,
    j'ai un soucis avec mon formulaire de mise à jour, ça fait des jours que je fais un tas de test mais rien n'y fait.
    Mon site web fonctionne bien et j'aimerais mettre une page pour effectuer des modification (page privée) tout ça pas de soucis par contre je nage avec mon formulaire de Maj.
    Quand j'entre des données sur ma page de modif j'ai mon message "Màj non prise en compte"quand je clic sur "envoyer" je fais des test sur des id existant bien sur.
    Quelqu'un sait m'aider ?
    Voici le code

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <?php
     
    require('src/connection.php');
     
    if(isset($_POST['update']))
    {
     
     
     
        $id                        = $_POST['id'];
        $date_enco            = $POST['date_encod'];
        $dep 		        = $_POST['dep'];
        $rent 		        = $_POST['rent'];
        $rapp 	                = $_POST['rapp'];
     
     
     
        $query = "UPDATE `tbl_encod` SET `date_encod`=:date_encod,`dept`=:dep,`rent`=:rent,`rapp`=:rapp  WHERE `id`=:id";
     
        $pdoResult = $db->prepare($query);
     
        $pdoExec = $pdoResult->execute(array(":date_encod"=>$date_encod,":dep"=>$dep,":rent"=>$rent,":rapp"=>$rapp,":id"=>$id));
     
        if($pdoExec)
        {
            echo 'MAJ OK';
        }else{
            echo 'Màj non prise en compte';
        }
     
    }
     
    ?>
     
    <!DOCTYPE html>
    <html>
        <head>
            <title>Formulaire mise  à jour</title>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
        </head>
        <body>
            <form action="modif7.php" method="post">
                <input type="number" name="id" required placeholder="Id"><br><br>
                <input type="date" name="date_encd" required placeholder="Date"><br><br>
                <input type="time" name="dep" required placeholder="Heure dép"><br><br>
                <input type="time" name="rent" required placeholder="Heure rent"><br><br>
                <input type="number" name="rapp" required placeholder="Num rapp"><br><br>
                <input type="submit" name="update" required placeholder="Update Data">
            </form>
        </body>
    </html>

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Technicien GC
    Inscrit en
    Juillet 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien GC
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2017
    Messages : 23
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    Voici comment j'édite un article dans un de mes projet pour t'aider.
    Tu remarqueras que je fais d'abord un appel à la base de donnée afin de récupérer toutes les informations nécessaires pour la mise à jour via SELECT en récupérant l'ID se trouvant dans l'url.
    Ensuite viens le code pour l'UPDATE et le formulaire pré-rempli grâce au SELECT

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?php
    //..code pour connexion à la base de donnée
    if(isset($_GET['id']) AND !empty($_GET['id'])) {
    	$get_id = htmlspecialchars($_GET['id']);
     
    	$stmt = $dbh->prepare('SELECT * FROM article WHERE id = ?');
    	$stmt->execute(array($get_id));
     
            // Vérification que l'article existe bien
            if($stmt->rowCount() == 1) {
    		$stmt = $stmt->fetch();
    		$titre = $stmt['titre'];
    		//..
    	}
    }
    //.. code test des erreurs $errors
    // Mise à jour de la base de donnée
    if (empty($errors) && isset($_POST['submit'])) {
     
    	$stmt = $dbh->prepare("UPDATE articles SET
    							titre = :titre,
    							ville = :ville,
    							pays = :pays,
    							contenu = :contenu
    							WHERE id = :id");
     
    	$stmt->execute(array(
    					'id' => $get_id,
    					'titre' => $_POST['titre'],
    					'ville' => $_POST['ville'],
    					'pays' => $_POST['pays'],
    					'contenu' => $_POST['contenu'],
    					));
     
    	// Redirection vers ma page index.php
    	header('Location: index.php');
    }
     
    // .. Ici viens le formulaire prérempli avec les données récupéré précédement
    <form method="POST">
    	//..
    	<label for="ville">Ville :</label>
    	<input type="text" name="ville" id="ville" value="<?php echo $ville; ?>" />
    	//..
    	<input type="submit" name="submit" value="Envoyer" />
    </form>
    En espérant t'avoir aider.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
        $date_enco            = $POST['date_encod'];
    ...    
        $query = "UPDATE `tbl_encod` SET `date_encod`=:date_encod,`dept`=:dep,`rent`=:rent,`rapp`=:rapp  WHERE `id`=:id";
    ...
        $pdoExec = $pdoResult->execute(array(":date_encod"=>$date_encod,":dep"=>$dep,":rent"=>$rent,":rapp"=>$rapp,":id"=>$id));
    $date_enco ou $date_encod ?

    Je vois aussi `dept`, :dep et $dep.

    1- UN CONSEIL
    Si tu veux t'éviter de perdre des cheveux prématurément :
    • EVITE de changer les noms (nom des colonne en bdd, nom de variable : essaie de rester cohérent)
    • Mets toujours des noms explicites (pas de $ab, $tb, $.... qui ne veulent rien dire, et qui ne causeront que de la confusion)


    2- DEBOGAGE DE BASE :
    • on affiche les variables : echo $var;,
    • on affiche les array : var_dump( $arr );,
    • on mets des echo 'là on fait ça...'; dans le code, pour savoir par où passe l'action.

    C'est le B-A-BA du débogage.

    3- Active l'affichage des erreurs PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    // Afficher les erreurs et les avertissements
    	error_reporting(E_ALL); 	// en TEST !!

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/04/2015, 14h52
  2. [1.x] sfValidatorDoctrineUnique sur update formulaire
    Par mantex dans le forum Symfony
    Réponses: 10
    Dernier message: 07/04/2011, 14h40
  3. [MySQL] Pb UPDATE formulaire
    Par jeinny dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 30/06/2009, 18h55
  4. [MySQL] Fonction update formulaire
    Par redwarf dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 13/08/2008, 16h04
  5. Problème update formulaire
    Par jarod71 dans le forum Langage
    Réponses: 3
    Dernier message: 30/04/2006, 14h01

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