Newsgroup: it.comp.www.php
Titolo: Fatevi sotto - problema stupido ma mi sa di duro

ok, ecco qui:
Ho un form con una checkbox.
Non conosco il nome della checkbox.
Se però la checkbox è selezionata (checked) ricevo il suo valore nella
variabile:
<input type="checkbox" name="banana" value="gialla">
Se è stata checkata ricevo $banana="gialla"
Ma se non è checkata ho assoluto bisogno di avere passata la variabile ma
vuota.
In pratica nella HTTP_POST_VARS deve esserci lo stesso la variabile $banana.
Qualcuno ha idea di come fare ?
J

"J" <jj@thecloud.o> wrote in message news:a1cnmo$uq$1...@serv1.iunet.it...

Devi per forzare usare Javascript.
Nel form metti un onsubmit, cosi puoi analizzare tutti gli elementi del form
ed inviare con il tutto con un POST (location) passando i parametri come
querystring.

Uhmmm ho trovato la soluzione:
<input type="hidden" name="x" value="off">
<input type="checkbox" name="x" value="on">
Se è settata la checkbox il valore passato è ON se non è checkata il valore
passato è OFF
Uhmmm javascript ? Tipo ?
J

bhè, se non sai il nome del "checkbox" ... riesci a sapere almeno l'indice
all'interno dell'Array (form) ?
--
CIAO!
Gusher
"J" <jj@thecloud.o> ha scritto nel messaggio
news:a1cu84$l7i$1...@serv1.iunet.it...


Quando ricevo i dati non so in che posizione sono, che tipo di campo-form
(type) me li ha inviati e neppure se contengono dati e di che tipo...
J

 ha scritto nel
messaggio news:UMl_7.40757$s04.1...@news.infostrada.it...


 (type) me li ha inviati e neppure se contengono dati e di che tipo...
Beh, questo mi sembra piu' un design error.
Puoi sempre aggiungere informazione per determinare quale form ti invia i
dati (anche senza usare javascript)
<FORM name=ciao>
<input type=hidden name=formname value=ciao>
...
</FORM>
La soluzione con il doppio INPUT (nome uguale) non e' una soluzione pulita
(e non penso che tutti i browser funzionano).

Purtroppo non so quali variabili non arrivano :))
J

 Purtroppo non so quali variabili non arrivano :))
Mbeh?
Se non arriva una variabile la setti a mano
if (!isset($chk))
    $chk="off";
eppure da qualche parte dovresti sapere quale sono gli input field:
al limite (proprio limite) fai una scansione del HTML con preg_match_all sui
vari INPUT.
ma se si tratta di una pagina statica li sai a priori,
se e' una pagina dinamica puoi anche salvare i nomi di tutti i campi in un
INPUT hidden
<INPUT hidden name="checkFields" value="ciao,pluto,pippo,altri,casini">
che poi con un explode(",", $checkFields) hai a disposizione come array con
il quale puoi lavorare ($$ ecc).

Fose non sai come sono i moduli, cmq già uso preg_match per fare quello che
intendi.
La prima release del software era infatti fatto in quel modo. Attualmente
quella soluzione è solo lenta e poco efficace, era però anche questa la mia
idea,all'inizio. Poi per esigenze complesse ho dovuto abbandonare la cosa.
J

, jj@thecloud.o says...

Non ho capito proprio con quale problema hai a che fare.
Spiega?

 ha scritto nel messaggio
news:MPG.16a7c8b4f...@powernews.libero.it...


risolto: vedi 
http://www.judaweb.com/devs/checkboxes.html
Ho messo la cosa online così è a disposizione di tutti.
ciao
J
"J" <jj@thecloud.o> ha scritto nel messaggio
news:a1kiv7$g6e$1...@serv1.iunet.it...



Eh eh, non avevi visto la prima risposta da me e quella seguente di GUSHER
sul usare Javascript? La soluzione era proprio quella alla fine...
:))))

 > Ho messo la cosa online così è a disposizione di tutti.
