我對複選框有問題。我可以檢查這兩個複選框,但提交後,只有一個複選框被選中。我希望他們在提交後都被檢查。只能選中1個複選框? PHP
爲什麼他們都沒有檢查後提交?這個過程出了什麼問題?
<?php
$id = $_GET["id"];
$stmt = $dbConnection->prepare('SELECT * FROM paginas WHERE id = ?');
$stmt->bind_param('s', $id);
$stmt->execute();
$result = $stmt->get_result();
if(mysqli_num_rows($result) > 0) {
while ($row = $result->fetch_assoc()) {
?>
<a href="javascript:;" data-toggle="modal" data-target="#terugnaarpaginas" class="h1url">Terugkeren naar mijn pagina's</a>
<h1>Wijzig pagina: <?php echo $row["name"]; ?></h1>
<?php
if(isset($_POST["opslaan"])) {
if(empty($_POST["heading"])) {
echo '<p class="error">Titel kan niet leeg zijn</p>';
} elseif(empty($_POST["content"])) {
echo '<p class="error">Content kan niet leeg zijn</p>';
} else {
$heading = $_POST["heading"];
$content = $_POST["content"];
$updated = date("d-m-Y H:i:s");
$id = $row["id"];
$public = $_POST["public"];
$menu = $_POST["menu"];
$stmt = $dbConnection->prepare('UPDATE paginas SET heading = ?, content = ?, updated = ?, public = ?, menu = ? WHERE id = ?');
$stmt->bind_param('ssssss', $heading, $content, $updated, $public, $menu, $id);
$stmt->execute();
echo '<p class="success">Wijzigingen zijn succesvol opgeslagen. <a href="">Bekijken</a></p>';
}
} else {
?>
<form method="POST" action="">
<input type="text" name="heading" id="fulltext" placeholder="Titel" value="<?php echo $row["heading"]; ?>">
<textarea id="fullbox" class="editor" name="content"><?php echo $row["content"]; ?></textarea>
<div class="pad"><input type="checkbox" name="public" id="public" value="<?php
if($row["public"] == "1") {
echo '0';
} else {
echo '1';
}
?>" <?php
if($row["public"] == "1") {
echo ' checked';
} else {
echo '';
}
?>><label for="public" class="checker">Gepubliceerd</label><input type="checkbox" name="menu" id="menu" value="<?php
if($row["menu"] == "1") {
echo '0';
} else {
echo '1';
}
?>" <?php
if($row["menu"] == "1") {
echo ' checked';
} else {
echo '';
}
?>><label for="menu" class="checker">Menu</label></div>
<div class="clear"></div>
<p id="left">Laatst gewijzigd: <?php echo $row["updated"]; ?></p><input type="submit" value="Bewaar wijzigingen" name="opslaan" class="nomp">
<div class="clear"></div>
</form>
<?php
}
}
} else {
echo '<p>Deze pagina bestaat niet.</p>';
}
?>
哦,學到新的東西!我想''menu'也一樣? –
正確。如果複選框被選中,它會發送你給它的任何「值」。如果沒有被選中,那麼它將不會被髮送。所以你應該使用'isset()'來檢查它的存在。在大多數情況下,你根本不需要一個複選框的「值」,但我喜歡有一個「安全」的。 –