bug pour update un formulaire !
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 :
Citation:
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
Voici mon formulaire qui récupère les données de la facture,
modifierFacture.php :
Code:
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> |
updateFacture.php
Code:
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> |