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

ciao a tutti.
domandina da monkey user che sono.
in una pagina ho una serie di checkbox dinamici
l'utente può selezionarne più di uno
nell'altra pagina grazie al comando compilato Punkarruso e trovato sull'ng
mi escono i valori selezionati
$row[1]="";
$prefisso="$row[1]"; //prefisso con cui hai chiamato le box
//se le chiamavi tutte "name[]" ti ritrovavi l'array bell'e costruito
//comunque:
while ( list ($key, $value) = each ($_POST))
if(preg_match("/$prefisso/",$key))
echo substr($key,strlen("$prefisso"))."\n";
fin qui tutto bene e funziona egregiamente
ora, come faccio a catturare i valori che escono da
echo substr($key,strlen("$prefisso"))."\n";
in una variabile?
non mi dite, ad esempio
$a= "(substr($key,strlen("$prefisso"))."\n")";
echo $a;
o altre cose del genere perchè non funge
AIUTO
ale

 
Magari cosi' e' piu' facile :)
foreach ($_POST['campo_checkbox'] as $key => $value)
{
 
//   print ("Chiave $key");
//   print ("Valore $value \r\n");
	$topolino = $key;
	$pippo = $value;
}
Alla prossima.
	MAX

 }
UFFA
copio, incollo, sostituisco a  foreach ($_POST['campo_checkbox'] as $key =>
$value)
foreach ($_POST[$categoria] as $key => $value)
$categoria è il nome del campo con un while di valori pescati dal db
eseguo e cosa esce:
Invalid argument supplied for foreach() in bla bla bla
sulla riga di foreach
vi prego sono imballato
ale

 sulla riga di foreach
$_POST[$categoria] e' un array?
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

ovviamente anche così non funziona
<?php
session_start();
include ("include/db_con.php");
$tabella="siti_lingue";
$query="SELECT * FROM $tabella";
$result=mysql_query($query);
while (list($id, $categoria) = mysql_fetch_row ($result)){
if ($_POST[$categoria] == $categoria){
echo $_POST[$categoria];}}
?>
perchè se il checkbox della pagina da cui submitto non è cliccato
non gli arriva il nome e mi da
Undefined index: bla bla in...
per quelli che chekko è tutto ok
come si fa??
esiste un $_POST che se eisiste il valore bene altrimenti bypassa la
sunzione
AHHHHHHHHHHH

> $_POST[$categoria] e' un array?
se un while è un array si
questo è il codice completo
<?php
session_start();
include ("include/db_con.php");
$tabella="siti_lingue";
$query="SELECT * FROM $tabella";
$result=mysql_query($query);
while (list($id, $categoria) = mysql_fetch_row ($result)){
foreach ($_POST['campo_checkbox'] as $key => $value){
//   print ("Chiave $key");
//   print ("Valore $value \r\n");
$topolino = $key;
$pippo = $value;}}
?>
AIUTOOOOO

 se un while h un array si
Eh? while e' un costrutto, array e' un tipo.
L'errore sta probabilmente nel codice HTML in cui non specifichi che il
campo di nome $categoria debba essere un array.


sunzione
if(isset($_POST[$categoria]) && ($_POST[$categoria] == $categoria))
Dovrebbe funzionare, al massimo separa in:
if(isset($_POST[$categoria])){
	if($_POST[$categoria] == $categoria){
Con la funzione isset determini se esiste il valore in $_POST.
'bye

 Con la funzione isset determini se esiste il valore in $_POST.
La separazione e' inutile, in caso di fallimento il codice successivo
non viene elaborato (false && xxx dara' sempre false).


> if(isset($_POST[$categoria]) && ($_POST[$categoria] == $categoria))
FUNZIONA
...senza dividere...OK
Agostino GRAZIE
sono commosso
ma dalla commozione sono passato alla disperazione
...altro caso da risolvere per tutti:
<?php
session_start();
include ("include/db_con.php");
$tabella="siti_lingue";
$query="SELECT * FROM $tabella";
$result=mysql_query($query);
while (list($id, $categoria) = mysql_fetch_row ($result)){
if(isset($_POST[$categoria]) && ($_POST[$categoria] == $categoria)){
$categoria= $_POST[$categoria];
echo $categoria;
$_SESSION['categorie_scelte']=$categoria;}}
echo "<hr>";
echo $_SESSION['categorie_scelte'];
?>
l'echo $categoria all'interno dell'if mi restituisce i valori correttamente
quindi se ad esempio chekko tre categorie echono i valori delle relative
categorie
mentre nell'echo $_SESSION['categorie_scelte'] mi eche solo il valore
dell'ultimo checkbox selezionato
io li voglio tutti come l'echo dentro l'if
non c'è la faccio più!!!!!!
piango
ale

non viene elaborato (false && xxx dara' sempre false).
Non avevo verificato che su PHP il comportamento fosse sempre questo
(su altri linguaggi, in genere compilati, e' possibile forzare
l'elaborazione completa delle condizioni nell'"if") quindi avevo messo
l'alternativa :-)
'bye

 ale