bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


php_checkboxes

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
php_checkboxes [2026/09/22 14:44]
enric_mieza_sanchez creat
php_checkboxes [2026/09/22 15:54] (actual)
enric_mieza_sanchez [Checkboxes amb array]
Línia 3: Línia 3:
 Aquest article ve dels fonaments en [[PHP]]. Aquest article ve dels fonaments en [[PHP]].
  
-Els checkboxes poden tenir un tractament particular en PHP que els fa molt útils.+Els checkboxes es poden resoldre com a variables independents cadascun, o bé a través d'un array, que ho fa mes convenient.
  
 \\ \\
Línia 9: Línia 9:
 ===== Checkboxes bàsic ===== ===== Checkboxes bàsic =====
  
-Considera aquest codi:+Volem implementar una llista de la compra com aquesta: 
 + 
 +{{checkboxes_compra.png?300}} 
 + 
 +Resoldríem la part HTML així:
  
 <file php checkboxes.html> <file php checkboxes.html>
Línia 26: Línia 30:
 </form> </form>
 </file> </file>
 +
 +Ens enviarà les dades com seria mes esperable (si seleccionem Ous i Cebes):
 +<code>
 +$_POST = array(2) {
 +  ["ous"]=>
 +  string(2) "on"
 +  ["cebes"]=>
 +  string(2) "on"
 +}</code>
  
 I el processament d'aquest formulari: I el processament d'aquest formulari:
Línia 46: Línia 59:
  
 Observa que: Observa que:
 +  * Al ''var_dump()'' del final es mostren les dades que ens arriben. Cada producte marcat a la checkbox arribarà com un element del diccionari amb el valor "on".
   * Cada element amb checkbox té una entrada al diccionari amb el seu ''name''.   * Cada element amb checkbox té una entrada al diccionari amb el seu ''name''.
   * Enlloc de processar cada element fem un ''foreach'' per recórrer la llista d'elements de l'array ''productes''.   * Enlloc de processar cada element fem un ''foreach'' per recórrer la llista d'elements de l'array ''productes''.
Línia 51: Línia 65:
   * Amb ''array_keys()'' obtenim un array amb les claus del diccionari ''$_POST'' on hi ha les dades enviades pel formulari.   * Amb ''array_keys()'' obtenim un array amb les claus del diccionari ''$_POST'' on hi ha les dades enviades pel formulari.
  
 +
 +\\
 +
 +===== Checkboxes amb array =====
 +
 +Si volem enviar tots els elements de la compra en un sol array, es pot fer canviant el formulari inicial, i al ''name'' de cada checkbox posar-hi el nom de la variable array, per nosaltres ''prod[]'':
 +
 +
 +<file php checkboxes_array.html>
 +<h3>Llista de la compra amb array</h3>
 +<form action="checkboxes_array2.php" method="post">
 + <input type="checkbox" id="patates" name="prod[]">
 + <label for="patates">Patates</label>
 + <br>
 + <input type="checkbox" id="ous" name="prod[]">
 + <label for="ous">Ous</label>
 + <br>
 + <input type="checkbox" id="cebes" name="prod[]">
 + <label for="cebes">Cebes</label>
 + <br>
 + <input type="submit">
 +</form>
 +</file>
 +
 +Això ens enviaria les dades via POST d'aquesta altra manera, diferent de l'exemple anterior:
 +
 +<code>$_POST = array(1) {
 +  ["prods"]=>
 +  array(2) {
 +    [0]=>
 +    string(3) "ous"
 +    [1]=>
 +    string(5) "cebes"
 +  }
 +}
 +</code>
 +
 +<WRAP todo>
 +Realitza el codi PHP que mostri els elements que hem seleccionat, similarment a com s'ha resolt en el primer exemple.
 +
 +És més senzill o més complicat el codi d'aquesta nova versió?
 +</WRAP>
  
php_checkboxes.1790088297.txt.gz · Darrera modificació: 2026/09/22 14:44 per enric_mieza_sanchez