Sistema de ingreso de usuario en PHP

Iniciado por jamarchi, 30 Marzo 2007, 22:10 PM

0 Miembros y 1 Visitante están viendo este tema.

SERBice

Cita de: Hans el Topo en  8 Abril 2007, 14:38 PM
los setcookies van antes de enviar texto de salida ya sea el head y tal xD


<?php
include ("includes/config.php");
include ("includes/funciones.php");
//nos conectamos a mysql
$cnx conectar ();
if($_POST["entrar"]){
if($_POST["username"] && $_POST["pass"]){
$contraseña md5("$_POST[pass]"); //esto de md5 es para comparar si guardas la passwd en md5 si no borralo
$query mysql_query("SELECT * FROM usuarios WHERE nick='$_POST[username]'");
$datos mysql_fetch_array($query); 
if($datos[pass] == $pass){ // si las pass son =// crea la cookie del usuario con la id el nick y la pass
setcookie("id",$datos[id],time()+90000);
setcookie("nick",$datos[nick],time()+90000);
setcookie("pass",$pass,time()+90000);


//if($HTTP_REFERER){ // lo redirige
header("Location: resumen.php"); //} // Esto es lo que tenia header("location: $HTTP_REFERER");
//else {
// header("Location: index.php");
//}
} else {
echo "La contraseña es incorrecta";
header("Location: index.php");
}
} else {
echo "Faltan campos por rellenar";
}
} else {
echo "Estas haciendo un uso indevido del login";
}
?>



No necesariamente, si utiliza las funciones ob_...... podra capturar la salida y asi no enviarla hasta que este lista y de este modo poner los setcookies donde se le de la gana.

Hans el Topo

solamente me limite a contestarle xD
que lo haga él como más le guste o se le ocurra xD
 

jamarchi

Gracias por las respuestas.....  :D

Entonces... quiere decir que si quito esto
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Prueba de acceso</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>


deberia de funcionar sin ningun problema ?, la pagina puede llevar titulo o no ?

Saludos,  ;D

Hans el Topo

Cita de: jamarchi en  9 Abril 2007, 18:05 PM
Gracias por las respuestas.....  :D

Entonces... quiere decir que si quito esto
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Prueba de acceso</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>


deberia de funcionar sin ningun problema ?, la pagina puede llevar titulo o no ?

Saludos,  ;D

no puedes mostrar nada por pantalla hasta después de las cookis... xD,puede llevar titulo ylo que quieras siempre que no lo muestres antes de sesiones o cookis xD

 

jamarchi


ok Hans el Topo..... voy a quitar todo eso y lo voy a probar.... Dios queira que ya funcione......   >:(

Gracias   ;D

Saludos.

jamarchi

Hola Hans el Topo y toda la gente.....

Pues vamos muy bien.....  ;D ..... quiete la parte del header y lo que iba adelante y funciono de lo mas bien .... muchas gracias.....

Pero luego que lo probe nuevamente me fui a la pagina que quiero proteger que es resumen.php y al parecer el logout no esta funcionando muy bien porque no limpio bien las cookies y puede ver la informacion de resumen.php

en logout.php tengo lo siguiente

<?
//Limpia las cookies y se dirige al index.php
$login_page = "index.php";
if($_COOKIE[id] && $_COOKIE[nick] && $_COOKIE[pass]){
setcookie("");
setcookie("");
setcookie("");
header("location: index.php");
}
else
{
header("Location: index.php");
}

?>



Creo que me falta algo para limpiar bien esas cookies pero no estoy seguro de lo que es, alguien me podria decir que es ?  :huh:

Gracias....

Saludos,   ;D

Hans el Topo

http://es2.php.net/manual/es/function.setcookie.php


<?php
// establecer la fecha de expiracion hace una hora
setcookie ("CookieDePrueba"""time() - 3600);
setcookie ("CookieDePrueba"""time() - 3600"/~rasmus/"".example.com"1);
?>
 

jamarchi


Oye gracias por esa respuesta Hans el Topo.

Un pregunta, a mi se me ocurrio poner esto y al parecer me funcionó de lo mas bien .... como lo vex?

<?
//clear the cookie and return to login
$login_page = "index.php";
setcookie ("this_cookie", "", 0, "", "", 0);
setcookie ("name", "", 0, "", "", 0);
header("Location: $login_page");
exit();
?>


Como lo ven ? esta bien ?  :huh:

Saludos,  ;D

jamarchi


Perdon, estaba equivocado.....  >:(

volvi a probar el acceso y no me borra las cookies.....  :-[ , inclusive probe de dos formas como podran ver .....

el logout lo tengo asi

<?
$login_page = "index.php";
setcookie ("id", "", time() - 3600);
setcookie ("nick", "", time() - 3600);
setcookie ("pass", "", time() - 3600);
setcookie("id", "", 0, "", "", 0);
setcookie("nick", "", 0, "", "", 0);
setcookie("pass", "", 0, "", "", 0);
header("location: index.php");
?>


Gracias por la ayuda .......  :)

Luisango

Hola jamarchi, y a todos los que participais, a ti jamarchi decirte que los siento por no haberte respondido antes pero me he tenido que conectar desde un cyber (ya sabes problemas con la linea) y ya estoy en casita, asique vuelvo a estar en activo jeje

Veamos... yo el logout lo tengo asi:

<?php
// Esto solo son las modificaciones de las cookies ;)

setcookie("id");

setcookie("nick");

setcookie("contrasena");

?>



Ya asi no te funcionan para entrar en las paginas restringidas, por lo menos a mi me funcionan, si quieres hablamos mas detenidamente y te lo enseño paso a paso y personalmente (thesixhalcon@hotmail.com), de todas formas a mi las cookies para proteger los archivos no me fallan :S.

A ver si asi te va ;)

PD: el foro va de culo, de tanto que tarda en cargar no me deja postear xD ;)
Even better...