Buongiorno,
scusate il disturbo ma mi trovo arreso su un problema che non so proprio come risolvere:
in una pagina A ho un form con un input type di tipo checkbox che mostra una variabile contenuta in un tabella e l'utente può selezionare o meno
Ora tutto funziona e le checkbox vengono visualizzate correttamente a seconda del numero di brand.
Il problema viene nella pagina di check del form, infatti se dalla query il checkbox ha estratto una stringa senza spazi nel mezzo tutto funziona alla grande, se invece la stringa estratta ha spazi nel mezzo ecco che la checkbox non viene considerata nella pagina di check:
Per essere più chiaro se brand ha il nome "pippo" nella pagina di check tutto funziona correttamente, se invece la parola estratta dalla query è una stringa tipo "pippo 2" allora il controllo salta.
Ho guardato cosa viene passato dal post e ho visto che nel caso di stringa senza spazi nella pagina di check ho appunto
$_POST['pippo']
ma con stringa con spazi ho
$_POST['pippo_2']
Ora non capisco come devo intendere il l'underscore, ho provato a fare il replace di _ con spazio, ma sbaglio qualcosa.
Grazie per ogni aiuto.
Saluti
Leo
scusate il disturbo ma mi trovo arreso su un problema che non so proprio come risolvere:
in una pagina A ho un form con un input type di tipo checkbox che mostra una variabile contenuta in un tabella e l'utente può selezionare o meno
PHP:
<?php
$query=mysql_query("SELECT * FROM brands") or die(mysql_error());
while ($rows=mysql_fetch_array($query))
{
extract($rows);
?>
<tr>
<td class="admin_select_text" >
<?php echo $brand;?>
</td>
<td class="admin_select_input" >
<input type="checkbox" name="<?php echo $brand;?>"
value="<?php echo $brand;?>">
</td>
</tr>
<?php
}
?>
Ora tutto funziona e le checkbox vengono visualizzate correttamente a seconda del numero di brand.
Il problema viene nella pagina di check del form, infatti se dalla query il checkbox ha estratto una stringa senza spazi nel mezzo tutto funziona alla grande, se invece la stringa estratta ha spazi nel mezzo ecco che la checkbox non viene considerata nella pagina di check:
PHP:
echo "Inizio controllo per selezione brand<br>";
//Controllo se è stato selezionato un brand
$query = mysql_query("SELECT * FROM brands") or die( mysql_error());
if( mysql_num_rows($query) != 0)
{
//Se entro qui significa che ci sono brand già inseriti
//l'utente deve selezionato almeno un brand per continuare //l'inserimento
while ( $rows = mysql_fetch_array($query) )
{
extract($rows);
//-----------------------------------------------qui inizia il problema prima ho verificato tutte le variabili e sono tutte a posto ma qui..........................................
if ( isset($_POST[$brand]) )
{
echo "Ho trovato un brand ".$_POST[$brand]."<br>";
$check_brand=1;
$id_brand_array[]= $id_brand;
$brand_array[] = $_POST[$brand];
}
}
}
Per essere più chiaro se brand ha il nome "pippo" nella pagina di check tutto funziona correttamente, se invece la parola estratta dalla query è una stringa tipo "pippo 2" allora il controllo salta.
Ho guardato cosa viene passato dal post e ho visto che nel caso di stringa senza spazi nella pagina di check ho appunto
$_POST['pippo']
ma con stringa con spazi ho
$_POST['pippo_2']
Ora non capisco come devo intendere il l'underscore, ho provato a fare il replace di _ con spazio, ma sbaglio qualcosa.
Grazie per ogni aiuto.
Saluti
Leo
Ultima modifica di un moderatore: