MudGuard: Kommentar löschen Problem

Beitrag lesen

Hi,

~~~php
		<section class="comment_main">
			<?php
			if(isset($_POST['show_comments']) && $_POST['comment_pid'] === $row['p_id']) { ?>
			<?php
				while($row2 = $com->fetch()) { ?>
					<section class="all_comments_from_post">
Kommentar: <?php echo $row2['comment']; ?></p> <br> <p>KommentarID: <?php echo $row2['kid']; ?></p><br>

		<?php if($_SESSION['id'] === $row2['id']) { ?>

			<p><input type="hidden" name="kid" value="<?php echo $row2['kid']; ?>"></p>
			<p><input type="submit" name="delete_comment" value="<?php echo $row2['kid']; ?> (Kommentar loeschen)"></p>

	<?php } ?>
			</p>
					
	</section>	

Das <form></form> umschließt (weil's nicht in jedem Schleifendurchlauf steht) also alle Kommentare?

Dann hast Du mehrere <input name="kid"> im selben Formular. PHP kriegt das nicht auf die Reihe, wenn der Name keine [] enthält, und nimmt dann m.W. den letzten. Die [] hinzuzufügen hilft aber auch nicht wirklich, denn dann bekommst Du ein Array mit allen kids. Unabhängig davon, welcher Button genutzt wurde.

==> nicht ein form für alles, sondern ein form für jeden löschbaren Kommentar.

Oder aber den Wert des delete_comment auslesen, da wird nur der von dem Button übertragen, der ausgelöst wurde.

cu,
Andreas a/k/a MudGuard