Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/04/2006, 05:58
sarverok007
 
Fecha de Ingreso: enero-2005
Mensajes: 115
Antigüedad: 19 años, 3 meses
Puntos: 1
Se trata de unos checkbox donde guardo un PATH de un archivo de manera que 'filepath'.'/'.'filename' todo esto concatenado es el value del checkbox.
Las variables de session las controlo asi:

Código PHP:
 //...
session_start();
if(isset(
$_SESSION['listadoCanciones'])){ //Si existe ...
    
$listadoCanciones $_SESSION['listadoCanciones'];
    if(isset(
$_POST['listadoCanciones']) && !empty($_POST['listadoCanciones'])){
        
$temp $_POST['listadoCanciones'];
        foreach(
$temp as $key => $valor)
            
$listadoCanciones[FixTextFields(getid3_lib::SafeStripSlashes($valor))] = FixTextFields(getid3_lib::SafeStripSlashes($valor));
        unset(
$temp);
    }
    
$_SESSION['listadoCanciones'] = $listadoCanciones;
}else{ 
//Si no existe ...
    
if(isset($_POST['listadoCanciones']) && !empty($_POST['listadoCanciones'])){
        
$temp $_POST['listadoCanciones'];
        foreach(
$temp as $key => $valor)
            
$listadoCanciones[FixTextFields(getid3_lib::SafeStripSlashes($valor))] = FixTextFields(getid3_lib::SafeStripSlashes($valor));
        unset(
$temp);
    }
    
$_SESSION['listadoCanciones'] = $listadoCanciones;
}
//... 
(FixTextFields y SafeStripSlashes son funciones para poder ver correctamente caracteres estraños)
De manera que cuando llego a los checkbox solo tengo que mirar si en la matriz $listadoCanciones esta la clave que busco o no:
asi por ejemplo:

Código PHP:
// ... bucle que recorre el mysql_fetch_array() devolviendo las tuplas seleccionadas
for ($i=0$row = @mysql_fetch_array($result);$i++){
echo 
'<tr>';
echo 
'<td align="right"><span class="letra_estandard">';//Checkbox para la seleccion de canciones
                
echo '<input type="checkbox" name="listadoCanciones[]" value="'.urlencode($row['filepath'].'/').urlencode($row['filename']).'" title="'.FixTextFields(getid3_lib::SafeStripSlashes($row['filepath'].'/'.$row['filename'])).'" onfocus="this.style.border=\'1px solid #f00\'" onblur="this.style.border=\'1px solid #bbb\'"'.((isset($listadoCanciones[FixTextFields(getid3_lib::SafeStripSlashes($row['filepath'].'/'.$row['filename']))])) ? '  checked' '').'>';
            echo 
'</span></td>';

//... mas campos y finaliza el bucle
echo '</tr>';

Cuando cambio de pagina a la pagina siguiente le paso por post los checkbox seleccionados, pero no le paso los checkbox no seleccionados.
No se me ocurre que hacer, seguramente tenga que cambiar la manera como paso la informacion de los checkbox. Que opinais??
__________________
SaRvErOk :ojotes: