Skip to content

Instantly share code, notes, and snippets.

@birante
Last active June 23, 2022 20:32
Show Gist options
  • Save birante/21c5a51c6b5aa715bf137f1534fa2bbe to your computer and use it in GitHub Desktop.
Save birante/21c5a51c6b5aa715bf137f1534fa2bbe to your computer and use it in GitHub Desktop.
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap demo</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="check-circle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>
</symbol>
<symbol id="info-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</symbol>
<symbol id="exclamation-triangle-fill" fill="currentColor" viewBox="0 0 16 16">
<path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
</symbol>
</svg>
<nav class="navbar navbar-expand-lg bg-primary navbar-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">TVA Calculator</a>
</div>
</nav>
<div class="container">
<div class="row">
<div class="col-md-6 mx-auto mt-5">
<div class="card">
<div class="card-header">
Calculateur de TVA
</div>
<div class="card-body">
<form action="tva_calculator.php" method="POST">
<div class="mb-3">
<label for="inputMontantSansTva" class="form-label">Montant</label>
<input type="number"
class="form-control"
id="inputMontantSansTva"
name="montant_ht"
required>
<div id="emailHelp" class="form-text">La TVA est de 18%.</div>
</div>
<button type="submit" class="btn btn-primary">Calculer la TVA</button>
</form>
<?php
$servername = "";
$username = "";
$password = "";
$database_name = "";
try {
$conn = new PDO("mysql:host=$servername;dbname=$database_name", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
$montant_ht = "";
if (isset($_POST["montant_ht"])) {
if (empty($_POST["montant_ht"])) {
$montantSansTvaError = "Montant sans tva est obligatoire !";
echo '
<div class="alert alert-danger d-flex align-items-center mt-3" role="alert">
<svg class="bi flex-shrink-0 me-2" width="24" height="24" role="img" aria-label="Danger:"><use xlink:href="#exclamation-triangle-fill"/></svg>
<div>
'.$montantSansTvaError.'
</div>
</div>
';
} else {
$montant_ht = $_POST["montant_ht"];
$montant_tva = $montant_ht * 0.18;
$montant_ttc = $montant_ht + $montant_tva;
$sql = "INSERT INTO tva (montant_ht, montant_tva, montant_ttc)
VALUES ($montant_ht, $montant_tva, $montant_ttc)";
$conn->exec($sql);
echo '
<div class="alert alert-info d-flex align-items-center mt-3" role="alert">
<svg class="bi flex-shrink-0 me-2" width="24" height="24" role="img" aria-label="Danger:"><use xlink:href="#exclamation-triangle-fill"/></svg>
<div>
New record created successfully '.$montant_ht.'
</div>
</div>
';
$listes = $pdo->query("SELECT montant_ht, montant_tva, montant_ttc FROM tva")->fetch();
foreach ($listes as $liste) {
echo $liste['montant_ht']. $liste['montant_tva']. $liste['montant_ttc']."\n";
}
}
}
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js"
integrity="sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2"
crossorigin="anonymous"></script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment