Foros del Web » Programando para Internet » PHP »

Problema con una variable de Session

Estas en el tema de Problema con una variable de Session en el foro de PHP en Foros del Web. Bueno me he atascado con una cosa tonta, debo estar bastante cansado pero llevo tiempo buscando el problema y no lo veo, pongo todo el ...
  #1 (permalink)  
Antiguo 03/02/2013, 19:10
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 222
Antigüedad: 13 años, 10 meses
Puntos: 7
Problema con una variable de Session

Bueno me he atascado con una cosa tonta, debo estar bastante cansado pero llevo tiempo buscando el problema y no lo veo, pongo todo el código a ver si veis que es lo que hago mal.

En mi página de inicio abro 2 sesiones, una para seleccionar la cantidad de coches que vere por página con mi páginador y otra para seleccionar la ciudad en la que busco los coches y así no tener que poner cada vez la ciudad cuando navego entre mis páginas, de entrada veo todos los coches de todas las ciudades, hasta que seleccione una ciudad en concreto, hasta aquí correcto.
La SESSION donde selecciono la cantidad de coches a visualizar por página funciona bien en todos los sitios, pero la de la ciudad me da por todos los lados, os pongo el código reducido a lo necesario para que me digais como debo hacerlo, ya que he eliminado todo el código de pruebas que he hecho y lo he puesto separado al final.
Página de INICIO.PHP
Código PHP:
Ver original
  1. <?php
  2. $_SESSION["numpag"]=250;
  3. $_SESSION["Ciudad"]=-1;
  4. // Aqui indico que al entrar por primera vez me ponga 250 coches por página
  5. // y presente los coches de todas las ciudades.
  6. ?>
  7. <head>
  8. </head>
  9. <?php
  10.         require_once('Connections/ConexionCoches.php');
  11. ?>
  12. <body>
  13. <table width="765" border="0" height="30">
  14.   <tr>
  15.     <td align="center" width="60" class="Submenu">Inicio</a></td>
  16.     <td align="center" width="130"><a href="Coches.php">Coches</a></td>
  17.   </tr>
  18. </table>
  19. </body>
  20. </html>
Página COCHES.PHP
Código PHP:
Ver original
  1. <?php
  2. if(!isset($_SESSION))
  3. {
  4. }
  5. ?>
  6. <head>
  7.         <script type='text/javascript' src='Js/jquery-1.7.1.min.js'></script>
  8. </head>
  9. <?php
  10.         require_once('Connections/ConexionCoches.php');
  11.  
  12.         if(isset($_GET["selregistrospagina"])){
  13.         $_SESSION["numpag"]=$_GET["selregistrospagina"];
  14.         }
  15.         $selregistrospagina=$_SESSION["numpag"];
  16. ?>
  17. <body>
  18. <div id="DivNumRegistrosPagina">
  19. <form name="Paginas" method="GET" action="Coches.php">
  20. <table width="195" height="30" border="0">
  21.   <tr>
  22.   <td align="center" class="ChicasPagina">Chicas por página:</td>
  23.   <td align="center">
  24.   <select name="selregistrospagina" id="selregistrospagina" class="Guias3"  onchange="this.form.submit()" >
  25.         <option value="" selected><?php echo $_SESSION["numpag"];?></option>
  26. <?php
  27.     $tablaregistrospagina = mysql_query("SELECT * FROM registrospagina ORDER BY Paginas ASC");
  28.     while ($registroregistrospagina = mysql_fetch_array($tablaregistrospagina)) {
  29. ?>
  30. <option value="<?php echo $registroregistrospagina['Paginas']; ?>"><?php echo $registroregistrospagina['Paginas']; ?></option>
  31. <?php
  32.     }
  33.     mysql_free_result($tablaregistrospagina);
  34.         ?>
  35.     </select>
  36.     </td>
  37.     </tr>
  38.     </table>
  39.     </form>
  40. </div>
  41. <div id="DivFiltrado"><?php require ("MenuLateral.php"); ?></div>
  42. <div id='contenido'><?php require ("Contenido.php"); ?></div>
  43. <table width="765" border="0" height="30">
  44.   <tr>
  45.     <td align="center" width="60"><a href="inicio.php">Inicio</a></td>
  46.     <td align="center" width="130"  class="Submenu">Coches</td>
  47.   </tr>
  48. </table>
  49. <script type='text/javascript'>
  50. function cargarContenido(pagina)
  51. {
  52.     $("#contenido").html("<img src='clock.gif' class='clock' border='0' />");
  53.     $("#contenido").load(pagina, $("#filtrar").serialize());
  54. }
  55. </script>
  56. </body>
  57. </html>
Página MENULATERAL.PHP
Código PHP:
Ver original
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <form name="filtrar" id="filtrar" method="GET"  action="">
  6. <div id="accordion">
  7.     <table width="185" height="30" border="0" cellspacing="5">
  8. <tr>
  9. <td align="left">
  10.     <select name="selciudad" id="selciudad" class="Guias3" Onchange="cargarContenido('Contenido.php')">
  11.     <option value="-1" selected>&nbsp;Todas las Ciudades&nbsp;&nbsp;&nbsp;</option>
  12.     <?php
  13.     $tablaciudad = mysql_query("SELECT * FROM provincias  ORDER BY Provincia ASC");
  14.     while ($registrociudad  = mysql_fetch_array($tablaciudad ))
  15.         if (empty($_GET["selciudad"])<> '-1')  
  16.         {
  17.            echo "<option value='".$registrociudad['Provincia']."' selected>&nbsp;&nbsp;".$registrociudad['Provincia']."</option>";
  18.        }else{
  19.           echo "<option value='".$registrociudad['Provincia']."' >&nbsp;&nbsp;".$registrociudad['Provincia']."</option>";      }
  20.     mysql_free_result($tablaciudad);
  21.     ?>
  22. </select>
  23. </td>
  24. </tr>
  25. </table>
  26. </form>
  27. </div>
  28. </body>
  29. </html>
Página CONTENIDO.PHP
Código PHP:
Ver original
  1. <?php
  2. if(!isset($_SESSION))
  3. {
  4. }
  5. ?>
  6.   <head>
  7.   </head>
  8. <?php
  9. require_once('Connections/ConexionCoches.php');
  10.  
  11. if(isset($_GET["selregistrospagina"])){
  12.         $_SESSION["numpag"]=$_GET["selregistrospagina"];
  13.         }
  14.         $selregistrospagina=$_SESSION["numpag"];
  15.  
  16. $selciudad = isset($_GET["selciudad"])? $_GET["selciudad"]: '';
  17. ?>
  18. <?php
  19.         $records_per_page = $selregistrospagina;
  20.         require 'Zebra_Pagination/Zebra_Pagination.php';
  21.         $pagination = new Zebra_Pagination();
  22.        $pagination->records_per_page($records_per_page);
  23. ?>
  24. <body>
  25. <div id="Consulta">
  26.   <?php
  27. $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM escortschicas WHERE Activacion = '1'";
  28.  
  29.         if (isset($_GET['selciudad'])and $_GET['selciudad'] <>'-1') {
  30.         $sql .= "AND escortschicas.Ciudad = '$selciudad' ";
  31.        }else {$sql .= "AND escortschicas.Ciudad <> '-1' ";
  32. }
  33. $sql .= 'ORDER BY Ciudad ASC ';
  34. $sql .= 'LIMIT ' . (($pagination->get_page()- 1) * $records_per_page) . ', ' . $records_per_page . '';
  35.         if (!($result = @mysql_query($sql))) {
  36.             die(mysql_error()); }
  37.         $rows = mysql_fetch_assoc(mysql_query('SELECT FOUND_ROWS() AS rows'));
  38.          $pagination->records($rows['rows']);
  39.          $pagination->records_per_page($records_per_page);
  40. $tabla = mysql_query($sql);
  41. while ($registro = mysql_fetch_array($tabla)) {
  42.         ?>
  43.  <div class="Prueba">
  44.  <table class="MarcoFotoPrincipal" width="183" border="0">
  45.   <tr>      
  46.           <td><a href="Ficha.php?Id=<?php echo $registro['Id']; ?>"><img border="0" src="<?php echo $registro['FotoPrincipal']; ?>" width="165px" height="240px"></a></td>        
  47.   </tr>
  48.   </table>
  49.  </div>
  50. <?php
  51. }
  52. ?>
  53. </div>
  54. </body>
La página contenido.php me muestra todos los coches o solo los de la ciudad seleccionada y cuando pulso sobre una imagen de un coche me abre la ficha de ese coche "ficha.php" que en este momento no contiene nada, lo que quiero es que al retroceder me mantenga seleccionada la ciudad igual que me hace con el numero de coches que quiero visualizar por página.
He intentado poner esto en la página contenido.php pero no me funciona. ¿Que es lo que hago mal?.

Código PHP:
Ver original
  1. if(isset($_GET["selregistrospagina"])){
  2.         $_SESSION["numpag"]=$_GET["selregistrospagina"];
  3.         }
  4.         $selregistrospagina=$_SESSION["numpag"];
  5.  
  6. if(isset($_GET["selciudad"])){
  7.         $_SESSION["Ciudad"]=$_GET["selciudad"];
  8.         }
  9.         $selciudad=$_SESSION["Ciudad"];
Seguire haciendo pruebas, gracias por la molestia de miraros todo el código
__________________
¿Hay algo mas hermoso que ayudar.?

Etiquetas: html, mysql, registro, select, session, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:54.