Bonjour
Aidez-moi svp, merci !
Je fais un petit TP de facturation. J'aimerais mettre la facture à jour à partir de son identifiant mais j'ai ce message d'erreur :
Voici mon formulaire qui récupère les données de la facture,Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\Facturation\updateFacture.php:21Stack trace:#0 C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\Facturation\updateFacture.php(21): PDOStatement->execute(Array)#1 {main} thrown in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\Facturation\updateFacture.php on line 21
modifierFacture.php :
updateFacture.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 <?phprequire_once 'connexion.php'; $resFC = $base->prepare('SELECT * FROM facturation WHERE id= ?'); $resFC->execute(array($_GET['id'])); ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Créer une facture</title> <link rel="stylesheet" href="style.css" media="all" /> </head> <body> <br/><br/> <main> <?php require_once('includes/menu.php') ?> <br/><br/><br/> <?php foreach ($resFC as $req): ?> <?= '<form action="updateFacture.php?id='.$req['id'].'" method="post">' ?> <fieldset> <legend>Infos de votre entreprise</legend> <textarea id="facturede" name="facturede" rows="4" cols="45" placeholder="Votre entreprise: Raison sociale, adresse.." required><?php echo $req['facturede'] ?></textarea><br/><br/> <label for="file">Sélectionner votre logo</label> <input name="logo" type="file" size=50> <input type="hidden" name="MAX_FILE_SIZE" value="250000" /> </fieldset><br/> <fieldset> <legend>Infos de base</legend> <input type="text" placeholder="Numéro de la facture" name="num" value="<?php echo $req['num'] ?>"><br/><br/> <label>Date de la facture </label> <input type="date" name="dateFacture" value="<?php echo $req['dateFacture'] ?>"><br/><br/> <textarea name="client" rows="4" cols="45" placeholder="Facturé à: Raison sociale, adresse.." required><?php echo $req['client'] ?> </textarea> <br/><br/> <textarea name="conditions" rows="10" cols="45" placeholder="Conditions et paiements" required><?php echo $req['conditions'] ?></textarea> </fieldset><br/> <fieldset> <legend>Contenu de la facture formation</legend> <textarea name="prestation" rows="4" placeholder="Prestation" required><?php echo $req['prestation'] ?></textarea><br/><br/> <input type="number" placeholder="Nombre de jours" name="nbjours" value="<?php echo $req['nbjours'] ?>" required><br/><br/> <input type="number" placeholder="Tarif journalier" name="tarifjour" value="<?php echo $req['tarifjour'] ?>" required><br/><br/> <!-- <input type="number" placeholder="Taxe" name="taxe"><br/><br/> --> <!-- <input type="number" placeholder="Total du montant HT" name="montantHT"><br/><br/> --> </fieldset> <br/> <input type="submit" value ="Mettre à jour une facture" /> </form> <?php endforeach; ?> <br/> </main> <?php require_once('includes/footer.php') ?> </body> </html>
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 <?phprequire_once 'connexion.php'; $req = $base->prepare('UPDATE facturation SET num = :num, client = :client, prestation = :prestation, nbjours = :nbjours, tarifjour = :tarifjour, dateFacture = :dateFacture, facturede = :facturede, conditions = :conditions WHERE id= ?'); $req->execute(array('num' => $num, 'client' => $client, 'prestation'=> $prestation, 'nbjours'=> $nbjours, 'tarifjour'=> $tarifjour, 'dateFacture'=> $dateFacture, 'facturede'=> $facturede, 'conditions'=> $conditions, 'id'=> $id)); ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Mise à jour Facture</title> <link rel="stylesheet" href="style.css" media="all" /> </head> <body> <header class="clearfix"> </header> <?php require_once('includes/menu.php') ?> <br/> <br/> <main> <p> Les données ont bien été mise à jour</p> </main> <?= $base = null; ?> <?php require_once('includes/footer.php') ?> </body> </html>
Partager