Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/05/2006, 11:47
fermdp
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 22 años, 4 meses
Puntos: 0
Principiante: Verificacion de codigo para encontrar error

Hace un tiempito que estoy dedicado a aprender php para implementarlo en un sitio propio, debo confesar que aprendi por ahora lo basico y realize paginas simples, pero juntando parte de lo que se y leyendo tutoriales y el manual, logre uno de mis cometidos, el tener una seccion en mi web privada para los clientes, se ingresa a una page en ella se pide el name y pass y si esta ok le muestro el contenido y puede ir a otras pages protegidas tambien, lo cual esta echo a traves del uso de session, hasta alli todo ok para mis pretenciones pero el echo es que no puedo dar con lo siguiente quiero que luego de entrar por la page principal (validacion mediante) y al utilizar links para ir a otras protegidas, al volver a la principal no me vuelva a pedir la validacion, en la page principal primero verifica unas variables para ver si se logueo y si es correcto inicia una session que es verificada en las siguientes pages, pero si de estas quiero enlazar a la primera nuevamente me pide que me loguee y quiero evitar eso, se que tengo que utilizar tambien el leer la session para ello pero lo intente de varias formas y no he podido ver el contenido de la primera page sin volver a loguearme. Perdon por lo extenso aqui les dejo el code de la principal, y las demas pages. Desde ya muy agradecido con quien pueda ayudarme!!!

index.php
Código PHP:
<?
$user
="fer"// AQUI ENTRE " " PONER EL NOMBRE DEL USUARIO
$pass="qwerty"// AQUI ENTRE " " PONER LA CLAVE REQUERIDA
?>

<? // hacer que no queden las paginas en el chache o memoria
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // fecha antigua
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); // modificado siempre
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0 ?>

<html>
<head>
<title>Bienvenido a su Página Privada en www.fad.com.ar 14</title>
</head>
<body bgcolor="#999999" text="#000000" link="#FFFFFF" vlink="#000000" alink="#333333" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">

<? // Verifico las variables $usuario y $password, si estan vacias es porque todavía no se logueo
if ($usuario=="" && $password=="")
{
$valido="alogearse"// Entonces creo la variable $valido con el valor "aloguearse"
}
else
{
$valido="user_pass_incorrectos"// Creo la variable $valido pero con el valor "user_pass_incorrectos"
?>
<? 
if ($valido=="alogearse"// Entonces si las variables estaban vacias muestro el FORM para loguearse
?>

<!-- FORMULARIO PARA INGRESO DE USUARIO Y CLAVE APUNTANDO A ESTA MISMA PAGE-->
<form method="POST" action="index.php">
Usuario : <input type="text" name="usuario" size="10"><br>
Password : <input type="password" name="password" size="10"><br>
<input type="submit" value="Enviar" name="privado"></form>
<!-- ------------------------------------------------------------------------>

</font>
</body>
</html>

<? }
else 
// Si por el contrario tenían algún valor procedo a validarlas
?>

<? // Comparamos a ver si son correctos
if ($usuario==$user && $password==$pass)
{
$valido="si";
}
else
{
$valido="no";
?>

<? if ($valido=="si"// Si el Usuario y la Clave fueron correctas muestro EL CONTENIDO QUE SE QUIERE PROTEGER
?>

<? session_start(); // Defino una sesion y guardo datos
    
session_register("autentificado");
    
$autentificado "SI";
?>

A continuación todo el contenido de nuestra Página Privada
<p>BIENVENIDO A LA PAGINA PRIVADA</p>
<br>

<a href="pagina_protegida_1.php">Enlace</a>
<br><br>
<a href="salir.php">Salir</a>

<? // Caso contrario muestro un ERROR DE LOGUEO
else
?>

<br>
USUARIO O CONTRASEÑA INCORRECTA <br> Recuerde que se distingue MAYUSCULAS de minusculas<br><br>
<a href="index.php">VOLVER</a>

<? ?>
<? 
?>
</font>
</body>
</html>
pagina_protegida_1.php
Código PHP:
<?include ("seguridad.php");?>
<html>
<head>
<title>Aplicación segura</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function formButtonFever(formName,action){
    var myString = "document."+formName+"."+action+"();";
    eval(myString);
    }
//-->
</script>
</head>

<body bgcolor="#999999" text="#000000" link="#FFFFFF" vlink="#000000" alink="#333333" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <br>
Aplicación segura <br>
<br>
<a href="index.php">Volver</a><br>
<br>
<a href="salir.php">Salir</a><br>
</font> 
<form name="form1" method="post" action="index.php">
  <input name="usuario" type="hidden" id="usuario" value="fer">
  <input name="password" type="hidden" id="password" value="qwerty">
  <input name="imageField" type="image" onClick="formButtonFever('form1','submit')" src="../EBAPHP/EN/IMAGES/about_off.jpg" width="95" height="22" border="0">
</form>
</body>
</html>
seguridad.php

Código PHP:
<?
//TOMO VARIABLES DE SESION SOBRE LA AUTENTIFICACION
session_register("autentificado");

//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($autentificado != "SI") {
    
//si no existe, envio a la página de autentificacion
    
header("Location: index.php");
    
//ademas salgo de este script
    
exit();
}    
?>
__________________
:) Fernando Dichiera (:
[email protected]