Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2006, 09:39
undariarose
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
Pasar arrays en sesiones

Hola a todos, quiero hacer un pequeño examen de reconocimiento de fotos; selecciono unas 20 fotos de la base de datos, que acumulo en un array de sesion, y luego el usuario ha de ir escribiendo qué es cada foto . El problema es que sólo sale en la primera foto todo bien,en la segunda ocurre como que la sesion ha volado ya que no hay variables conservadas de ella.

Este es el codigo:
Código PHP:
<?
if (isset ($_GET['iniciar'])) {
    
session_name($visu);
    
session_start();     
    
session_cache_limiter('nocache,private');    
}
if (isset (
$_POST['salida']) and ($_POST['salida']=="salida")) {
    
session_name($visu);
    
session_start();
    
session_destroy();
    
$_POST['salida']=="";
}
?>

...

                <?
                
if ($_GET['primera']=="uno"){
                
                    
$_SESSION['vez']=0;
        
                    
$_SESSION['categoria']=$_GET['categoria'];
                    
$_SESSION['dificultad']=$_GET['dificultad'];
                    
$_SESSION['numesp']=$_GET['numesp'];
                    if (
$_GET['numesp']=="10"$_SESSION['numesp']=10;
                    if (
$_GET['numesp']=="20"$_SESSION['numesp']=20;
                    if (
$_GET['numesp']=="30"$_SESSION['numesp']=30;
                    
$limite=$_SESSION['numesp'];
    
                    require_once(
'../../Connections/Astur.php');     
                    
mysql_select_db($database_Astur$Astur);
                    
                    if (
$_GET['categoria']=="flora") {
                    
$_pagi_sql="SELECT * FROM astur WHERE ";
                         
$_pagi_sql.="(Reino = 'Protoctista' or ";
                         
$_pagi_sql.="Reino = 'Fungi' or ";
                         
$_pagi_sql.="Reino = 'Plantae') AND Fotowww1 IS NOT NULL AND ";
                         }            
                            
                    if (
$_GET['categoria']=="fauna") {
                    
$_pagi_sql="SELECT * FROM astur WHERE ";
                         
$_pagi_sql.="Reino = 'Animalia' AND Fotowww1 IS NOT NULL AND ";
                         }                        
                         
                    if (
$_GET['dificultad']=="basico") {
                         
$_pagi_sql.="Tipo LIKE 'K' ";                
                    }
                    
                    if (
$_GET['dificultad']=="normal") {                
                         
$_pagi_sql.="Tipo IS NOT NULL ";                
                    }                

                    if (
$_GET['dificultad']=="avanzado") {                
                    }        
                                        
                    
$_pagi_sql.="ORDER BY RAND() LIMIT 0,$limite";            

                    
$posicion=0;
                    
$visuconsulta mysql_query($_pagi_sql) or die ("Error en la consulta de conteo de registros. Mysql dijo: <strong>".mysql_error()."</strong>");
                    
$_SESSION['exvisuesp'] = array();
                    
$_SESSION['exvisufoto'] = array();
                    while (
$row mysql_fetch_array($visuconsulta)){  
                        
$_SESSION['exvisuesp'][$posicion]=$row['Especie'];
                        
$_SESSION['exvisufoto'][$posicion]=$row['Fotowww1'];
                        echo 
$row['Tipo']." ".$row['Especie']." ".$row['Reino']." ".$row['Fotowww1']." ".$_SESSION['exvisuesp'][$posicion]."<br/>";
                        
$posicion=$posicion+1;
                    }
                                
                }
                
                    
                    if (isset(
$_GET['vez'])) $_SESSION['vez']=$_GET['vez'];
                    
                    if (isset(
$_SESSION['vez'])) {
                    echo 
"Foto ".$_GET['vez'];
                    echo 
"<div class=\"imagenflotantedrch\">
                    <img src=\"../../Imagenes/Astur/"
.$_SESSION['exvisufoto'][$_SESSION['vez']].".jpg\" alt=\"Foto ".$_SESSION['vez']."\" /> ";
                    echo 
"</div>".$_SESSION['exvisufoto'][$_SESSION['vez']].$_SESSION['numesp'];
                    
                    
$_SESSION['vez']=$_SESSION['vez']+1;
                    
?>
                    
                    <form class="formulariobusc" method="get" action="http://www.asturnatura.com/asturnaturaDB/visu/visu.php">
                    <fieldset>                    
                    <label for="especieintro">¿Qué especie cree que es?
                    <input id="escriba" name="especieintro" type="text" value="especie" /></label>
                    <input type="hidden" name="vez" value="<? echo $_SESSION['vez']; ?>" />
                    <input type="hidden" name="iniciar" value="inicio" />
                    <input name="continuar" type="submit" class="redaccion" value="Continuar" />
                    </fieldset>    
                    </form>
                    
                    
                    <br/><br/>
                    <form class="formulariogal2" action="visu.php?salida=salida" method="post"><br/>
                    <fieldset>
                    <input type="hidden" name="salida" value="salida" />
                    <label for='salir'>
                    <input name="salir" type="submit" value="Acabar examen" />
                    </label>
                    </fieldset>
                    </form>
                    
                    <?
                    
                    
}
                    
?>
un ejemplo de su funcionamiento lo podeis ver enhttp://www.asturnatura.com/asturnaturaDB/visu/visu.php

gracias