Ver Mensaje Individual
 
Antiguo 29/12/2005, 08:44
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues justamente haría falta ver TODA! la pagina en su conexto ..

Yo no sé si comprendes como se genera una página desde PHP (a nivel de como se trabaja con cabeceras HTTP .. como la envia PHP y como la recibe tu cliente: navegador) .. Pero esto es la base de "saber" por qué lo que haces no tiene sentido lógico si te fijas bien como funciona PHP.

Te explico:

PHP ... genera tu página HTML (o salida en general) que tengas que ver en tu cliente (navegador).

Una "página" que tu ves en tu "cliente" .. no es sólo ese "HTML/javascirpt" y demás que ves .. sino que -antes- de que llegue todo ese HTML/etc se han enviado unas cabeceras HTTP al cliente que le indican cosas como "los datos que te envio son HTML" .. y cosas por el estilo.

Bien .. una de esa "información" que se envia -antes- de tu HTML/etc .. son las "cookies" .. la cookie se le envia al navegador y se le dice "almacena esta cookie con estos datos y tal tiempo de expiración" .. eso viaja como parte de las cabeceras HTTP.

Si te fijas que PHP "compone" dinámicamente tu página HTML .. fijate como generas tu página. Tienes algo de lógica PHP .. luego envias HTML .. y por "medio" metes una declaración de una cookie (setcookie()) y luego continuas con más HTML.

Debes -pensar- como trabaja PHP . .así podrás ordenar tu código para NO enviar una cookie antes de tu HTML ni otro tipo de cabeceras HTTP como las que se envian con "header()" desde PHP al cliente.

Entendistes algo? .. (espero que si y si tienes dudas que las preguntes . .por qué esto es -realmente- saber como funciona PHP y como funciona en general todo esto de programar con lenguajes del lado del "servidor" en entorno web. Estos conecptos son aplicables a otros lenguajes como ASP, Perl .. etc en esta modalidad).


El caso es que en tu caso concreto .. debes hacer antes de tu "<html>" .. algo tipo:

Código PHP:
if ($_SESSION['usuario_nivel'] != 0) { 
$uss $_SESSION['usuario_login']; 
$ppss $_SESSION['usuario_password']; 
$lacookies "$uss,$ppss"
setcookie("ejemusuario"$lacookiestime()+31536000,"/","www.distraete.com");  

Es decir ... con tu código PHP .. al principio del mismo decides si corresponde crear tu cookie o no .. luego compones tu página HTML y si corresponde como es tu caso .. usas esas mismas condiciones para generar cierto HTML o no ..


Código PHP:
       <? 
            
if ($_SESSION['usuario_nivel'] == 0) { 
echo
"<table border='0' cellspacing='1' style='border-collapse: collapse' bordercolor='#111111' width='100%' id='AutoNumber10'><tr> 
            <td width='100%' bgcolor='#FBEAA8'><form method='POST' action='index.php'><p align='center'><font face='Arial' size='2'> 
              Usuario:<br></font><font size='1' face='Arial'><INPUT class=it size=14 name=user></font><font face='Arial' size='2'><br>Clave:</font><font size='1' face='Arial'><br><INPUT class=it type=password size=14 name=pass></font><table border='0' cellspacing='1' style='border-collapse: collapse' bordercolor='#111111' width='100%' id='AutoNumber31'><tr><td width='100%'><p align='center'><input type='submit' value='Entrar' name='B1'><font size='2' face='Arial'> 
                <a href='?id=zona2'><u>Registro</u></a></font></td></tr></table></form></td></tr></table>"

} else {
// AQUÍ ya no corresponde crea la COOKIE .. sólo el proceso de generar tu "página" con el HTML que corresponda ..la cookie ya lo hicistes antes. 
echo "Panel de control"
}

Un saludo,