Newsgroup: it.comp.www.php
Titolo: Controllo checkbox

Ho un form con una sola checkbox, quando invio i dati mi passa la checkbox
sempre su "on", indipendentemente se è stata spuntata o meno... L'ho provato
sia su IE che su Mozilla (e Mozilla sotto Linux), e con tutti i browser
succede la stessa cosa.
Il codice è elementare, non lo incollo direttamente che è in un altro
computer non connesso alla rete comunque lo posso riproporre velocemente
(proprio per la sua "banalità"):
<form action="nomefile.php" method="get">
...
<input type="checkbox" name="cb">
...
Quindi, da "nomefile.php" ho messo:
$opzione = $_GET['cb']; // gli apici sono importanti?
if ($opzione="") ecc.ecc. (e qui non ci entra anche se non l'ho spuntato
perché per lui è appunto "on"...
Qualche idea?
Grazie.
Marco
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Qualche idea?
Cerco di interpretare, in quanto forse non ho capito bene...
 > <form action="nomefile.php" method="get">
 > ...
 > <input type="checkbox" name="cb">
 > ...
 >
 > Quindi, da "nomefile.php" ho messo:
 >
 > $opzione = $_GET['cb']; // gli apici sono importanti?
Gli apici non sono fondamentali ma è meglio metterli, in quanto senza 
credo che il parser vada prima a cercarsi una costante con quel nome e 
poi la variabile.
Al di là di PHP in HTML mancano delle informazioni:
1) il valore del checkbox:
<input type="checkbox" name="cb" *value="qualcosa"* >
2) Il checkbox se spuntato ti manda il valore della variabile ($_GET['cb'])
ma se non è spuntato non manda nulla!
Quindi o metti un hidden se vuoi che COMUNQUE arrivi il valore di cb elo 
metti PRIMA del checkbox, in modo che $_GET['cb'] venga sovrascritto,
oppure cambi il tuo script:
if (isset($_GET['cb'])) ...
Ciao
Marcello

perché per lui è appunto "on"...
A dire il vero quella istruzione ASSEGNA la stringa vuota ad $opzione. Se
l'hai scritto cosi' anche nello script, non puo' funzionare.
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

 Qualche idea?
2 radio button ?


 l'hai scritto cosi' anche nello script, non puo' funzionare.
c h e  i m b e c i l l e ! ! !
E' proprio quello il problema... Cioè, "concentrazione" zero... :-((
Era da un pò che non programmavo, iniziai due anni fa in asp per due mesi
circa, e ora mi ricordo che ebbi lo stesso problema proprio perché nell'if
non mettevo "var==qualcosa" ma "var=qualcosa"...
Ringrazio anche gli altri che hanno risposto, molte di quelle informazioni
le avevo già trovate su google group prima di postare, ma il problema era
proprio questo risolto da Leonardo.
Grazie di nuovo e ciao!
Marco

 non mettevo "var==qualcosa" ma "var=qualcosa"...
* Hint aggratise
Usa sempre:
	qualcosa == $var
In questo modo l'interprete prenderà un giornale arrotolato, e te lo
darà sul naso dicendo "cattivo programmatore, cattivo!".
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)                 [ 
http://www.emmanuelebassi.net
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

E' proprio quello il problema... Cioč, "concentrazione" zero... :-((
Bah, se avessi un euro per ogni volta che l'ho fatto io, oggi Berlusconi
potevo rivenderlo a tranci (complice anche una tastiera fetente).
E' per quello che cerco di scrivere
	if ('' == $opzione)
invece di
	if ($opzione == '')
cosi', se mi parte un =, almeno si genera subito un errore fatale.


 darà sul naso dicendo "cattivo programmatore, cattivo!".
:-)