page
PHP tutoriel
Code complet
Fichier glaces.php:
<?php
$parfums = [
"Fraise" => 4,
"Chocolat" => 5,
"Vanille" => 3
];
$cornets = [
"Pot" => 2,
"Cornet" => 3
];
$supplements = [
"Pépites de chocolat" => 1,
"Chantilly" => 0.5,
"Éclats de noisettes"=> 1
];
$title = "Composez votre glace";
/* */
$ingredients = [];
$total = 0;
require 'header.php';
?>
<h1>Composez votre glace</h1>
<div class="row">
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h5 class="card-title">Votre glace</h5>
<ul>
<li></li>
</ul>
</div>
</div>
</div>
</div>
<div class="col-md-8">
<form action="/glaces.php" method="GET">
<h2>Choisissez vos parfums</h2>
<?php foreach ($parfums as $parfum => $prix) : ?>
<div class="checkbox">
<label for="">
<?= checkbox('parfum', $parfum, $_GET) ?>
<?= $parfum ?> - <?= $prix ?>€
</label>
</div>
<?php endforeach ?>
<h2>Choisissez votre cornet</h2>
<?php foreach ($cornets as $cornet => $prix) : ?>
<div class="checkbox">
<label for="">
<?= radio('cornet', $cornet, $_GET) ?>
<?= $cornet ?> - <?= $prix ?>€
</label>
</div>
<?php endforeach ?>
<h2>Choisissez vos suppléments</h2>
<?php foreach ($supplements as $supplement => $prix) : ?>
<div class="checkbox">
<label for="">
<?= checkbox('supplement', $supplement, $_GET) ?>
<?= $supplement ?> - <?= $prix ?>€
</label>
</div>
<?php endforeach ?>
<button type="submit" class="btn btn-primary">Composer ma glace</button>
</form>
</div>
<?php require 'footer.php'; ?>
<h2>$_GET</h2>
<pre>
<?php var_dump($_GET)
?>
</pre>
<h2>$_POST</h2>
<pre>
<?php var_dump($_POST)
?>
</pre>
Fichier functions.php:
<?php
function nav_item (string $lien, string $titre, string $linkClass)
{
$classe = 'nav-item';
if ($_SERVER['SCRIPT_NAME'] === $lien) {
$classe .= ' active';
}
return <<<HTML
<li class="$classe">
<a class="$linkClass" href="$lien"> $titre </a>
</li>
HTML;
}
function nav_menu (string $linkClass = '') {
return
nav_item('/index.php','Accueil', $linkClass) .
nav_item( '/contact.php','Contact', $linkClass) .
nav_item( '/jeu.php','Jeu', $linkClass) .
nav_item( '/glaces.php','Glaces', $linkClass);
}
function message(array $array, int $index, string $classes) {
echo "<div class='$classes'>$array[$index]</div>";
}
function checkbox (string $name, string $value, array $data) {
$attributes = '';
if (isset($data[$name]) && in_array($value,$data[$name] )){
$attributes .= 'checked';
}
return <<<HTML
<input type="checkbox" name="{$name}[]" value="$value" $attributes>
HTML;
}
function radio(string $name,string $value,array $data){
$attributes = '';
if (isset($data[$name]) && $value===[$name]){
$attributes .= 'checked';
}
return <<<HTML
<input type="radio" name="{$name}" value="$value" $attributes>
HTML;
}