PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\xampp\htdocs\MonoStage\paymentRevolut.php on line 154
INSERT INTO paymentrevolut (namePerson, NumCB, dateExpiration, cvv) VALUES (:namePerson, :numCB, :dateExp, :cv)
Et voici le code :
Le formulaire :
<form action="paymentRevolut.php" method="POST">
<div class="container p-0">
<div class="card px-4">
<p class="h8 py-3">Payment Details</p>
<div class="row gx-3">
<div class="col-12">
<div class="d-flex flex-column">
<p class="text mb-1">Total du panier</p><br/>
<p>Vide pour l'instant<p>
<!-- <input type="number" value="Total du panier" name="cvvPay"> -->
</div>
</div>
<div class="col-12">
<div class="d-flex flex-column">
<p class="text mb-1">Nom de la personne</p>
<input class="form-control mb-3" type="text" placeholder="Name" value="Barry Allen" name="NamePerson">
</div>
</div>
<div class="col-12">
<div class="d-flex flex-column">
<p class="text mb-1">Numéro de carte</p>
<input class="form-control mb-3" type="number" placeholder="1234 5678 435678" name="NumCB">
</div>
</div>
<div class="col-6">
<div class="d-flex flex-column">
<p class="text mb-1">Date d'expiration de la carte</p>
<input class="form-control mb-3" type="month" placeholder="MM/YYYY" name="DateExpiration">
</div>
</div>
<div class="col-6">
<div class="d-flex flex-column">
<p class="text mb-1">CVV/CVC</p>
<input class="form-control mb-3 pt-2 " type="password" placeholder="***" name="cvvPay">
</div>
</div>
<div class="col-12">
<div class="btn btn-primary mb-3">
<input type="submit" value="Valider le paiement" name="btnSendPay">
<!-- <span class="ps-3">Valider le paiement</span> -->
<span class="fas fa-arrow-right"></span>
</div>
</div>
</div>
</div>
</div>
</form>
Le traitement du formulaire (l'insertion vers la BDD) :<?php
if(isset($_POST["btnSendPay"])){
$data = [
'NamePerson'=> $namePerson,
'NumCB'=> $numCB,
'DateExpiration' => $dateExp,
'cvvPay' => $cv,
];
$sql = "INSERT INTO paymentrevolut (namePerson, NumCB, dateExpiration, cvv) VALUES (:namePerson, :numCB, :dateExp, :cv)";
$stmt= $access->prepare($sql);
$stmt->execute($data);
echo $sql;
}else{
die("Veuillez remplir les champs SVP !!!");
}
?>
J'espère avoir des retours sur mon problème, merci d'avance ! Bonne journée !