Foros del Web » Programando para Internet » PHP »

Pregunta Login,simple

Estas en el tema de Pregunta Login,simple en el foro de PHP en Foros del Web. Hola,miren mi pregunta es muy simple... este archivo se llama seguridad.php,y quiero que se haga un include en cada pagina de mi web,q esté puesta ...
  #1 (permalink)  
Antiguo 06/06/2005, 18:36
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Login,simple

Hola,miren mi pregunta es muy simple...
este archivo se llama seguridad.php,y quiero que se haga un include en cada pagina de mi web,q esté puesta para alguien autentificado,me explico?

<?
//Inicio la sesión
session_start();

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


Sé que es simple,si lo pueden perfeccionar please haganlo,pero les hago una pregunta,si yo pongo el archivo,por ejemplo librodevisitas.php? ese "?" es para que vea si ha hecho el login? para qué sirve?...
Otra pequeña pregunta es...cómo puedo hacer para que una vez que el usuario registrado,se registra,y haga login por primera vez,cómo hago para que se le "blokee" la pagina por 1 semana(para evitar el exceso de registros,y controlar un poco más...y después de 1 semana que se le habilite todas las páginas? Gracias

Y respecto a lo demás.les agradeceria muchísimo si me explican cómo es el asunto más o menos,fijense ustedes que saben...Muchas gracias...
  #2 (permalink)  
Antiguo 06/06/2005, 21:17
 
Fecha de Ingreso: abril-2005
Mensajes: 1
Antigüedad: 19 años
Puntos: 0
Exclamación Solucion sobre validacion

Hola, respondiendo a tu pregunta. Yo tamb hice algo parecido, creo q tu validacion deberias hacerla por separado; q conste de un index, una pagina de validacion y de ahi, todas las paginas q tu quieras incluyendo la sesion y la linea de conexion:

<?php require_once('Connections/connection.php'); //linea de conexion

mysql_select_db($database_connection, $connection); //selecciona base de datos

$user=$_POST['user']; //recibo la variable usuario de la pagina index
$password=$_POST['password']; //recibo la variable password de la pagina index

$result=mysql_query("SELECT codacceso,codempleado FROM codsacceso WHERE codempleado = '$user' AND codacceso = '$password'",$connection);
//genero mi consulta para q seleccione el usuario y password ingresados y los compare con los registros de la base de datos


//si hay un registro inicia la sesion
if ($row = mysql_fetch_array($result)){
do {

session_start();
$_SESSION['UserCode'] = $row[0];
$_SESSION['codempleado'] = $row[1];

//redirecciona la pagina con login
header ("Location: intranet.php");

}while ($row = mysql_fetch_array($result));
} else {
//sino te bota al index y te muestra un error q tamb tienes q recogerlo en la pagina.

//el "?" es para mandar datos como cadena q se muestra en la barra de direccion
header ("Location: index.php?error=No tiene acceso al sistema!!");

}
?>


<?
//cierra la conexion
mysql_close($connection);
?>


Codigo de la pagina index.php:

Sobre el error q tenias q recoger:


<?
//recoge el error y lo muestra si no esta vacio
$error=$_GET['error'];

if ($error == ""){

}else{

echo $error;
}?>


Acuerdate q tienes q mandar los datos desde un form.. Espero haber resuelto tus dudas en parte. Si tienes alguna duda me escribes a mi mail [email protected].

Salu2
  #3 (permalink)  
Antiguo 06/06/2005, 23:59
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
....
Cita:
Iniciado por Saldu
quiero que se haga un include en cada pagina de mi web,q esté puesta para alguien autentificado,me explico?
nop...

Te pasaron código de lo que sería masomenos una página de loguin (aunque igual con algunos detalles )... supongo eso ya lo tienes...

Por tu código pareciera que solo quieres restringuir el contenido de una página, aunque lo único que haces es redireccionar si existe una variabe de sesión... pero por tu pregunta se entiende que quieres mostrar el contenido de un archivo SOLO a usuarios registrados... ... ... ahora, no entendería por qué una pregunta así teniendo lo que tienes... la lógica es la misma:
Código PHP:
<?php
session_start
();
if (isset(
$_SESSION['autentificado'])) { // no entendí lo que tienes.. solo hice un pequeño cambio de mi parte para que fuera más general...
include ("archivo.php");
}
// y todo lo demás...    
?>
Cita:
si yo pongo el archivo,por ejemplo librodevisitas.php? ese "?" es para que vea si ha hecho el login? para qué sirve?...
.. ese "?" sirve para pasar variables por URL... y poco tiene que ver con PHP... solo el hecho de recojerlas... para ello usas $_GET.. así pués "pagina.php?" (como tal) es lo mismo que "pagina.php"... ya que no estás pasando variables por URL... en el código que dejaron sí se manejó una variable "error"... aunque igual no es la forma correcta de pasar el valor de una variable (por los espacios) ... y quizá para recojerla sería mejor el uso de la función empty() ... ya lo dije antes... hay detalles...

Cita:
cómo puedo hacer para que una vez que el usuario registrado,se registra,y haga login por primera vez,cómo hago para que se le "blokee" la pagina por 1 semana(para evitar el exceso de registros,y controlar un poco más...y después de 1 semana que se le habilite todas las páginas?
... de nuevo poco clara tu consulta: ¿se deshabilite la página para todo visitante ó solo a tu usuario registrado???.... como sea, la idea sería manejar en una Base de Datos un campo DATE ó DATETIME según lo que requieras, guardar el "momento actual" (con CURDATE ó NOW respectivamente) al registrarse el usuario y antes de mostrar la página hacer una consulta y ver sí ya ha pasado X tiempo... puedes usar DATE_SUB para ello... Todo esto es SQL, podrás encontrarlo en www.mysql-hispano.org (supongo trabajas con MySQL.. sino mencionalo y menciona con lo que dispones, aunque la lógica sería la misma), y buscando en el foro... (busca las funciones, creo tendrías mejor suerte).

....
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 07/06/2005, 08:10
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Haber si entendí bien

haber si entendí bien,el ejemplo de jvelasquez...

Este es mi ingresar.php :
Código:
<?php
session_start(); 
print("<body bgcolor=#009900 text=#FFFFFF link=#FFFFFF>");
require_once("conexion.php");
$Auth = "NO";
$Auth = $_POST['Auth'];
$User = $_POST['user'];
$Pass = $_POST['pass'];
$Query = mysql_query("SELECT * FROM usuarios WHERE username='$User' && user_password ='$Pass'"); 
$Q_num = mysql_num_rows($Query);
if($Q_num == 1){
$data = mysql_fetch_array($Query);
	session_register('username');
	session_register('user_password');
	session_register('Auth');
echo("<meta http-equiv=refresh content=1;URL=default.php>");
} elseif($Q_num==0) {
        echo("Usuario / Clave no son válidos, intente de nuevo...");
}
?>

Luego,en seguridad.php pongo el ejemplo primero de jvelasquez:

Código:
<?php require_once('conexion.php'); //linea de conexion

mysql_select_db($Tryman_connection, $connection); //selecciona base de datos

$user=$_POST['username']; //recibo la variable usuario de la pagina index
$password=$_POST['user_password']; //recibo la variable password de la pagina index 

$result=mysql_query("SELECT codigo FROM usuarios WHERE username = '$user' AND user_password= '$password'",$connection);
//genero mi consulta para q seleccione el usuario y password ingresados y los compare con los registros de la base de datos


//si hay un registro inicia la sesion
if ($row = mysql_fetch_array($result)){
do {

session_start();
$_SESSION['codigo'] = $row[0];
$_SESSION['user_password'] = $row[1];

//redirecciona la pagina con login
header ("Location: intranet.php"); //en vez de intranet,qué pongo? osea,que simula ser este archivo?

}while ($row = mysql_fetch_array($result));
} else {
//sino te bota al index y te muestra un error q tamb tienes q recogerlo en la pagina.

//el "?" es para mandar datos como cadena q se muestra en la barra de direccion
header ("Location: frame2.php?error=No tiene acceso al sistema!!"); //frame2.php porque es donde se encuentra el formulario de ingreso

}
?>


<?
//cierra la conexion
mysql_close($connection);
?>
Bueno,hasta ahí vamos bien?
Y luego en el frame2.php pongo

<?
//recoge el error y lo muestra si no esta vacio
$error=$_GET['error'];

if ($error == ""){

}else{

echo $error;
}?>


Respecto a lo que dijo Jam...a lo que quiero llegar yo,es que SIEMPRE que alguien se Registra y haga login por PRIMERA VEZ...Se le reestringan TODAS las paginas en la cuál,el contenido sea SOLO para Usuarios...
Ahí me explico?
Bueno,ese contenido SOLO para Usuarios,lo van a poder ver,TODOS los usuarios registrados,una vez cumplida la semana del registro,me explico?

Cómo hago,para registrar la primera vez que hizo su registro(osea,jam ya me explicó que con campos datatime) pero cómo hago para reestringuirle todo lo que es para usuarios,hasta el plazo de 1 semana???? Gracias...
  #5 (permalink)  
Antiguo 16/01/2008, 23:50
Avatar de cbo77  
Fecha de Ingreso: diciembre-2007
Ubicación: en medellin colombia
Mensajes: 58
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Pregunta Login,simple

yo tambien necesito ayuda con esto
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 03:12.