Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2008, 10:34
Avatar de dplweb
dplweb
 
Fecha de Ingreso: enero-2002
Mensajes: 74
Antigüedad: 22 años, 10 meses
Puntos: 0
confundido... inexplicable salida de sesion

Hola amigos:

Esto me tiene muy complicado, no logro encontrar la falla.
Tengo que hacer un fotolog, todo iba bien en el desarrollo hasta que una seccion me saca de la sesion por una razon que no entiendo. Trabajo con Firefox pero lo probe en IE y me da el mismo efecto.
Otras secciones tienen la misma estructura y no causan problemas.
Cuando entro a la cuenta de usuario doy clic en el link de esa seccion, y se carga bien.. pero cuando recargo la pagina o vuelvo a hacer clic en el mismo link (lo cual deberia dar el mismo resultado) me saca de la sesion.
Es como si algo en la pagina dejara un rastro para que se salga de la sesion.
No entiendo. Si entro a la sesion, y hago click en otro link similar y luego recargo, ningun problema.
Como veran lo que se ejecuta es la ultima instruccion. Si hubiera un problema de llaves me daria error y no es asi.
Agradeceré cualquier aporte. Ya muchas horas dandole vueltas a esto.

Aqui va la pagina

Código PHP:
<?
if ($_SESSION[AUT] && ($_SESSION[USER] == $CUENTA_USER)) {
    
    
$S_datos "SELECT * FROM tab_users WHERE id = '$ID_USER'";
    
$R_datos mysql_query($S_datos);
    
    if (
mysql_num_rows($R_datos) > 0) {
        
$USER mysql_fetch_array($R_datos);
    }
    
    
$HORA date("H:i:s"time() - (60*60));
    if (
date("H") == "00"$FECHA date("Y-m-d"time() - (24*60*60));
    else 
$FECHA date("Y-m-d");
    
    
$mensaje "";
    

?>
<div style="font-size:12px; color:#000000">
<div style="font-size:18px; font-weight:bold; margin-bottom:10px">Cuenta de usuario</div>

<fieldset>
<legend>Configuración básica</legend>
<form name="form_user" method="post" action="index.php?pag=cuenta">
<table cellspacing="0" cellpadding="0" border="0">
<tr style="vertical-align:top">
<td>Nombre de usuario:</td>
<td style="font-weight:bold"><?=$CUENTA_USER?></td>
</tr>
<tr style="vertical-align:top">
<td>Nueva contraseña:</td>
<td><input name="n_pass" type="password" value="">
<br>
<br>
</td>
</tr>
<tr style="vertical-align:top">
<td>Repetir nueva contraseña:</td>
<td><input name="n_pass2" type="password" value=""><br>
<br>
</td>
</tr>
<tr style="vertical-align:top">
<td>Dirección de email:</td>
<td><input name="email" type="text" value=""><br>
<br>
</td>
</tr>
<tr style="vertical-align:top">
<td>Escribe tu contraseña actual para actualizar:</td>
<td><input name="pass" type="password" value="">
<br>
<br>
</td>
</tr>
<tr style="vertical-align:top">
<td colspan="2"><button type="submit">Actualizar</button></td>
</tr>
</table>
</form>
</fieldset>

<fieldset>
<legend>Perfil de usuario</legend>
<form name="form_perfil" method="post" action="index.php?pag=cuenta">
<table cellspacing="0" cellpadding="0" border="0">
<tr style="vertical-align:top">
<td>Nombre de la mascota:</td>
<td style="font-weight:bold"><input name="nombre_mascota" type="text" value="<?=$USER[nombre_mascota]?>"></td>
</tr>
<tr>
<td>Sexo de la mascota:</td>
<td style="font-weight:bold"><input name="sexo_mascota" type="radio" value="m" id="sexo_m"> <label for="sexo_m">Macho</label> <input name="sexo_mascota" type="radio" value="h" id="sexo_h"> <label for="sexo_h">Hembra</label></td>
</tr>
<tr style="vertical-align:top">
<td>Propietario:</td>
<td><input name="nombre_propietario" type="text" value="<?=$USER[nombre_propietario]?>">
<br>
<br></td>
</tr>
<tr style="vertical-align:top">
<td>Nombre(s):</td>
<td><select name="dia_mascota">
<option value="">&nbsp;</option>
<?
for ($i 1$i <= 31$i++) {
    if (
$i 10$i "0".$i;
    else 
$i $i;
    print 
"<option value=\"$i\"";
    if (
$i == $USER[dia_mascota]) print " selected=\"selected\"";
    print 
">$i</option>\n";
}
?>
</select>
/
<select name="mes_mascota">
<option value="">&nbsp;</option>
<?
$meses 
= array(1=>"Enero""Febrero""Marzo""Abril""Mayo""Junio""Julio""Agosto""Septiembre""Octubre""Noviembre""Diciembre");
while(list(
$codigo$mes) = each($meses)) {
    if (
$codigo 10$codigo "0".$codigo;
    else 
$codigo $codigo;
    print 
"<option value=\"$codigo\"";
    if (
$codigo == $USER[mes_mascota]) print " selected=\"selected\"";
    print 
">$mes</option>\n";
}
?>
</select>
/
<select name="ano_mascota">
<option value="">&nbsp;</option>
<?
$ano_actual 
date("Y");
$ano_minimo $ano_actual 40;
$dif $ano_actual $ano_minimo;
$j 0;
for (
$i $ano_minimo$i <= $ano_actual$i++) {
    
$ano[$j] = $i;
    
$j++;
}
$ano2 array_reverse($ano);
foreach(
$ano2 as $valor) {
    print 
"<option value=\"$valor\"";
    if (
$valor == $USER[ano_mascota]) print " selected=\"selected\"";
    print 
">$valor</option>\n";
}
?>
</select>
<br>
<br>
</td>
</tr>
<tr style="vertical-align:top">
<td>Apellido paterno:</td>
<td><br>
<br></td>
</tr>
<tr style="vertical-align:top">
<td>Apellido materno:</td>
<td><input name="email" type="text" value=""><br>
<br></td>
</tr>
<tr style="vertical-align:top">
<td>Escribe tu contraseña actual para actualizar:</td>
<td><input name="pass" type="password" value="">
<br>
<br></td>
</tr>
<tr style="vertical-align:top">
<td colspan="2"><button type="submit">Actualizar</button></td>
</tr>
</table>
</form>
</fieldset>
</div>
<?
}
else {
    print 
JSredir("index.php");
}
?>
Código PHP:
function JSredir($url$algo="") {
    
$html "<script type=\"text/javascript\"> location.href='$url';";
    if (
$algo != ""$html .= " $algo";
    
$html .= "</script>";
    if (
$html != "") return $html;

Muchas gracias a todos.
Saludos
__________________
...webmastereando por la vida...