Καταλάβουμε ποιες πλαίσια ελέγχου έχουν επιλεγεί σε μία μορφή σε php

ψήφοι
1

Έχω μια φόρμα με διάφορα πλαίσια ελέγχου. Όταν το υποβάλει σε άλλη σελίδα php, αναρωτιέμαι: Πώς μπορώ να πω ποια ελέγχονται χωρίς να isset σε κάθε όνομα κουτάκι; (Αν υπάρχει ένας τρόπος). Αν δίνω κάθε ένα από τα πλαίσια ελέγχου το ίδιο όνομα, τότε μόνο το τελευταίο επιλεγμένο πλαίσιο ελέγχου επιστρέφεται.

Ευχαριστώ,
Michael

Δημοσιεύθηκε 16/08/2009 στις 23:12
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
5

Η ιδιορρυθμία της PHP ορίζει ότι οι έλεγχοι μορφή τελειώνει το όνομά τους με τους χαρακτήρες [], προκειμένου για περισσότερα από ένα από αυτά να αναγνωρίζονται.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
   <title>Demo</title>

<form action="cb.php">
<div>
    <input type="checkbox" name="animals[]" value="dog" id="dog"> 
    <label for="dog">dog</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="cat" id="cat"> 
    <label for="cat">cat</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="rabbit" id="rabbit"> 
    <label for="rabbit">rabbit</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="hampster" id="hampster"> 
    <label for="hampster">hampster</label>
</div>
<div><input type="submit"></div>
</form>
<?php
if ($_GET['animals']) {
?>
<ul>
<?php
foreach ($_GET['animals'] as $animal) {
?>
<li><?php print htmlspecialchars($animal); ?></li>
<?php
}
?>
</ul>
<?php
}
?>
Απαντήθηκε 16/08/2009 στις 23:15
πηγή χρήστη

ψήφοι
1

Χρησιμοποιήστε μια ονομασία συστοιχία για όλα τα πλαίσια ελέγχου στην ίδια ομάδα, π.χ. όνομα = «mycheckboxes []». Με αυτό τον τρόπο θα έχετε μια σειρά περιέχει τον κατάλογο των επιλεγμένων πλαισίων ελέγχου στον κώδικα php σας

Απαντήθηκε 16/08/2009 στις 23:15
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more