Autor
|
Tema: Sistema de ingreso de usuario en PHP (Leído 25,378 veces)
|
SERBice
|
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.
|
|
|
En línea
|
|
|
|
Hans el Topo
Desconectado
Mensajes: 1.754
"Estoy cansado de no hacer nada"
|
solamente me limite a contestarle xD que lo haga él como más le guste o se le ocurra xD
|
|
|
En línea
|
|
|
|
jamarchi
Desconectado
Mensajes: 151
the best foro !!!
|
Gracias por las respuestas..... 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,
|
|
|
En línea
|
|
|
|
Hans el Topo
Desconectado
Mensajes: 1.754
"Estoy cansado de no hacer nada"
|
Gracias por las respuestas..... 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, 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
|
|
|
En línea
|
|
|
|
jamarchi
Desconectado
Mensajes: 151
the best foro !!!
|
ok Hans el Topo..... voy a quitar todo eso y lo voy a probar.... Dios queira que ya funcione...... Gracias Saludos.
|
|
|
En línea
|
|
|
|
jamarchi
Desconectado
Mensajes: 151
the best foro !!!
|
Hola Hans el Topo y toda la gente..... Pues vamos muy bien..... ..... 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.phpen 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 ? Gracias.... Saludos,
|
|
|
En línea
|
|
|
|
Hans el Topo
Desconectado
Mensajes: 1.754
"Estoy cansado de no hacer nada"
|
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); ?>
|
|
|
En línea
|
|
|
|
jamarchi
Desconectado
Mensajes: 151
the best foro !!!
|
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 ? Saludos,
|
|
|
En línea
|
|
|
|
jamarchi
Desconectado
Mensajes: 151
the best foro !!!
|
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 .......
|
|
|
En línea
|
|
|
|
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
|
|
|
En línea
|
Even better...
|
|
|
|
|