Hallo 1unitedpower,
Die for-Attribute in den label-Elementen sollten sich immer auf die id eines Radiobuttons beziehen. Alternativ kann ein label-Element auch das Eingabefeld, das dazu gehört, umschließen. Du musst dein Markup auch nochmal auf Fehler überprüfen. Ein Formular kann nicht einfach inmitten zwischen zwei <td>-Elementen geöffnet werden.
danke für deine Erklärung, hab nun meine HTML Datei etwas angepasst, die Tabellen sollten später eh raus fliegen, diese hatte ich nur drin um zu schauen wie es ausschaut, jetzt sieht es so aus
<section>
<h2>Artikel</h2>
<article>
<h3>Alternativ zu Brother LC-1000 Tinten Spar-Set (4xBK,je 2xC,M,Y) 10 Stück</h3>
<form method="post" action="moin123.php">
<input type="radio" name="preis" value="14.64">14,64 €
<input type="radio" name="preis" value="10.99">10,99 €
<input type="radio" name="preis" value="11.64">11,64 €
<input type="hidden" value="000001" name="artikel_id">
<input type="submit" name="wk" value="In den Warenkorb">
</form>
</article>
<article>
<h3>Original Brother TN-1050 Toner Black</h3>
<form method="post" action="moin123.php">
<input type="radio" name="preis" value="31.61">31,61 €
<input type="radio" name="preis" value="32.40">32,40 €
<input type="radio" name="preis" value="33.20">33,20 €
<input type="hidden" value="000002" name="artikel_id">
<input type="submit" name="wk" value="In den Warenkorb">
</form>
</article>
</section>
<?php
if(isset($_POST['wk'])){
if(!empty($_POST['preis'])){
echo "<pre>";
print_r($_POST);
echo "</pre>";
}
else {
echo "<div class=\"alert alert-danger\">Bitte ein Preis wählen</div>";
}
}
?>
Jedes Produkt in deiner Liste braucht übrigens eine eigene Gruppe Radiobuttons. Die Gruppenzugehörigkeit wird über das name-Attribut der Radiobuttons festgemacht.
Da pro Formular immer nur ein Artikel vorkommt, kann ich es doch so lassen, wie ich es oben umgesetzt habe?