Ver Mensaje Individual
  #14 (permalink)  
Antiguo 06/01/2011, 10:49
Avatar de arielcasanova
arielcasanova
 
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: problema con sesiones

Es que justamente, eso no lo sé. Vamos desde 0 para ver si me pueden ayudar:

Para hacer una reserva, hay que estar logueado. Pero como es probable que ya hayan buscado si había disponible entre fechas, yo pongo en unos campos ocultos, las fechas dela búsqueda para el log in.
entonces tengo esto:

Código:
			<form action="control.php" method="POST">
			<input type="hidden" name="pagina" value="reserva" />
			<input type="hidden" name="id_unidad" value="<?php echo $id_unidad; ?>" />
			<input type="hidden" name="id_propiedad" value="<?php echo $id_propiedad; ?>" />	
			<input type="hidden" name="fecha_desde" value="<?php echo $fecha_desde; ?>" />
			<input type="hidden" name="fecha_hasta" value="<?php echo $fecha_hasta; ?>" />
			
            <?php if ($sesion=="SI") {

?> 
<div style="height:25px; margin-top:8px;margin-left:50px;">
<a class="menucito" href="index.php">MIS DATOS</a>  -  <a class="menucito" href="index.php">MIS RESERVAS</a>  -  <a class="menucito" href="index.php">MIS MENSAJES</a>  -  <a class="menucito" href="index.php">SALIR</a>
</div>

<?php } else {?> 
			<table width="100%" border="0">
                <tr>
                  <td width="14%">Usuario</td>
                  <td width="29%"><input type="text" name="usuario" class="access" /></td>
                  <td width="12%">Pass:</td>
                  <td width="26%"><input type="password" name="contrasena" class="access"/></td>
                  <td width="19%"><input type="image" src="elementos/boton-entrar.jpg" alt="entrar" width="72" height="27" /></td>
                </tr>
              </table>	<?php } ?>		
			<input type="hidden" name="pagina" value="reserva"/>

			  </form>

el archio control.php, por donde se procesa el logueo, enviaría los encabezados con el session_start:

Código:
$sql="SELECT * from pactemos_clientes
where user='$usuario' and pass='$contrasena'";

$result = mysql_query($sql, $conexion);

while ($row=mysql_fetch_array($result))
{
$id_cliente=$row['id'];
}	  

	
if ($id_cliente!="")
	{
	session_start();
	$_SESSION["sesion"]= "SI";
	$_SESSION["id_unidad"]= $id_unidad;	
	$_SESSION["id_cliente"]= $id_cliente;	
	$_SESSION["fecha_desde"]= $fecha_desde;	
	$_SESSION["fecha_hasta"]= $fecha_hasta;		
	
	header ("Location: $pagina.php");	
	}
	else 
	{ 
	$_SESSION["id_unidad"]= $id_unidad;	
	$_SESSION["fecha_desde"]= $fecha_desde;	
	$_SESSION["fecha_hasta"]= $fecha_hasta;		
	
	header ("Location: $pagina.php?errorusuario=si");	
		//si no existe le mando otra vez a la portada 
	}
Si el loguin es correcto, devuelve a reserva.php, que ya tiene antes que nada el <?php session_start(); ?>

Pero si no había fecha_hasta y fecha_desde , las ponemos en un formulario


Código:
<form action="reserva.php" name="formulario" method="post" enctype="multipart/form-data">
<input type="hidden" name="id_unidad" value="<?php echo $id_unidad; ?>" />
<input type="hidden" name="id_propiedad" value="<?php echo $id_propiedad; ?>" />
<table width="511" border="1">
  <tr>
    <td width="226">Fecha desde</td>
    <td width="458"><input name="fecha_desde" id="fecha_desde" type="text" class="inputi"  value="<?php if ($fecha_desde=="") {echo $hoy;} else {echo $fecha_desde; }?>" /></td>
  </tr>
  <tr>
    <td>Fecha hasta</td>
    <td><input name="fecha_hasta" id="fecha_hasta" type="text" class="inputi" value="<?php if ($fecha_hasta=="") {?>AAAA-MM-DD<?php } else {echo $fecha_hasta; }?>" /></td>
  </tr>
  <tr>
    <td><input type="submit" name="Submit2" id="Submit" value="Reservar" /></td>
    <td>&nbsp;</td>
  </tr>
</table>
</form>

que si ya staba logueado, no me las pasa... ese es problema, me pasa todas las otras variables, pero no fecha_hasta y fecha_desde....


Gracias por el esfuerzo de todos por entenderme!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar