Vous n'êtes pas identifié(e).
Bonjour, je débute en développement web.
Je souhaite récupérer les données d'un formulaire sur la même page que celui-ci, et les envoyer vers une base mysql.
Problème: rien n'est envoyé vers ma base .
Des suggestions à me proposer ?
Merci d'avance.
Mon code :
if( empty(session_id()) ){ session_start(); }
// Affichage des erreurs et les avertissements PHP
error_reporting(E_ALL);
//test de connexion à la bdd
try{
$objetPdo = new PDO('mysql:host=localhost;dbname=dolibarr','root','');
}catch(PDOException $e){
die('Erreur : '.$e->getMessage());
}
if (isset($_post['valid_form']))
{
$numero = $_POST['numero'];
$date = $_POST['date'];
$fournisseur = $_POST['fournisseur'];
$montantHt = $_POST['montantHt'];
$taux = $_POST['taux'];
$montantTTC = $_POST['montantTTC'];
// préparation de la requète
$pdoStat = $objetPdo->prepare('INSERT INTO achats VALUES (NULL, :num_facture, :facture_date, :nom_fournisseur, :montant_ht, :taux_tva, :montant_ttc)');
//on lie chaque marqueur à une valeur
$pdoStat->bindValue(':num_facture', $_POST['numero'], PDO::PARAM_STR);
$pdoStat->bindValue(':facture_date', $_POST['date'], PDO::PARAM_STR);
$pdoStat->bindValue(':nom_fournisseur', $_POST['fournisseur'], PDO::PARAM_STR);
$pdoStat->bindValue(':montant_ht', $_POST['montantHt'], PDO::PARAM_STR);
$pdoStat->bindValue(':taux_tva', $_POST['taux'], PDO::PARAM_STR);
$pdoStat->bindValue(':montant_ttc', $_POST['montantTTC'], PDO::PARAM_STR);
//execution de la requete
$insertIsOK = $pdoStat->execute();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insertion</title>
</head>
<body>
<!-- $_SERVER['PHP_SELF'] pour envoyer les données sur la même page -->
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<div class="div-table-responsive-no-min">
<table class="noberder">
<tbody>
<tr class="liste_titre">
<td>Numéro de facture</td>
<td>Date</td>
<td>Fournisseur</td>
<td>Montant HT</td>
<td>TVA</td>
<td>Montant TTC</td>
<td align="center">Action</td>
</tr>
<tr class="oddeven">
<input type="hidden" name="valid_form" id="valid_form" value="temp">
<td>
<input class="flat" size="15" name="numero" value="" type="text" required>
</td>
<td>
<input class="flat" size="15" name="date" value="" type="date" required>
</td>
<td>
<input class="flat" size="15" name="fournisseur"value="" type="text" required>
</td>
<td>
<input class="flat" size="15" name="montantHt" value="" type="text" required>
</td>
<td>
<select name="taux" >
<option value="0" >0</option>
<option value="2.1" >2.1</option>
<option value="5.5" >5.5</option>
<option value="10" >10</option>
<option value="20" >20</option>
</select>
</td>
<td>
<input class="flat" size="15" name="montantTTC" value="" type="text">
</td>
<td>
<input type="submit" name="achat" value="Ajouter">
</td>
</tr>
</tbody>
</table>
</div>
</form>
<table>
<tr class="liste_achats">
<td>
<label>Numéro de facture</label>
<br>
<?php echo $_POST['numero'] ?>
</td>
<td>
<label>Date</label>
<br>
<?php echo $_POST['date'] ?>
</td>
<td>
<label>Non du fournisseur</label>
<br>
<?php echo $_POST['fournisseur'] ?>
</td>
<td>
<label>Montant HT</label>
<br>
<?php echo $_POST['montantHt'] ?>
</td>
<td>
<label>Taux de TVA</label>
<br>
<?php echo $_POST['taux'] ?>
</td>
<td>
<label>Montant TTC</label>
<br>
<?php echo $_POST['montantTTC'] ?>
</td>
</tr>
</table>
</body>
</html>
Hors ligne
Merci tof73, l'envoi des données fonctionne maintenant.
Reste un soucis : lorsque je valide le formulaire, une nouvelle ligne s'affiche dans mon tableau, et efface la précèdente.
Or je souhaite que les données précédemment validées restent affichées .
Des conseils à me donner ?
Cdt
Dernière modification par stehag (30-04-2018 08:10:00)
Hors ligne