Eléphant du PHP |
150 Messages
23 oct. 2005, 16:08
Voilà le code commenté.
Chaque produit est appelé comme ceci dans mes pages:
<?php
include_once('article1.php');
?>
<?php
include_once('article2.php');
?>
Voici le contenu type de ces fichiers:
<form method="post" name="Commander" action="Panier.php">
<tr>
<td colspan="1" rowspan="1" style="width: 250px; vertical-align: middle; text-align: left; font-family: Optima; font-weight: bold; color: rgb(255, 255, 255);">
<div style="margin-left: 20px;">
<span style="color: rgb(255, 255, 255); font-weight: bold; text-decoration: underline;">
//J'appelle la référence du produit
<?php
require_once ('ref.php');
require ('refprod.php');
echo '<input type="hidden" value="'.$refprod.'" name="reference">'.$refprod;
?>
</small>
</div>
</td>
</tr>
<tr>
<td style="width: 300px; vertical-align: middle; text-align: right; color: rgb(255, 255, 255); font-family: Optima; font-weight: bold;">
<small>Quantités souhaitées :</small>
<input maxlength="3" size="3" name="quantite">
</td>
<td style="width: 200px; vertical-align: middle; text-align: right; color: rgb(255, 255, 255); font-weight: bold;">
// Affichage du bouton submit
<?php include('affichsubmit.php');
?> </td>
</tr>
Je nomme ces boutons dynamiquement en leur donnant l'id du produit appelé. Je crois que c'est un début de réponse, mais je ne sais pas comment tester de l'autre côté le nom de boutons. Sans doute avec for qcc, mais je ne vois pas exactement quoi:
<?php
echo '<span style="color: rgb(255, 255, 255); font-weight: bold;">
<input type="image" src="Commander.jpg" name="'.$id.'">';
?>
Enfin, voici la façon dont je teste le tout:
<?php
if (isset($_POST["Commander"])){
$refprod = $_POST["reference"];
$qt = $_POST["quantite"];
$pa = $_POST["prix"];
//Je vérififie que l'article n'est pas déjà dans le panier
require_once('deja.php');
if(!verif_panier($refprod)) {
//vérification de la validité des données du formulaire //
if(!is_numeric($qt)) {
require_once('qt_non_num.php');
exit();
} else {
array_push($_SESSION ['caddie']['produit']['quantite'], $qt);
//etc.
}
}
}
?>