Alexsoto14 Posted August 6, 2010 Report Share Posted August 6, 2010 Hola Comunidad Vengo a sus foros porque de verdad son con lo mejor que me he podido encontrar además de Google como no :) . Tengo que realizar un proyecto fusionando HTML, PHP y otros lenguajes pero estos son los más significativos ^^. El proyecto cuenta con una base de datos y quiero que se mantenga el usuario y la contraseña oculto, un claro ejemplo es Chilecomparte.cl. tu logueas y la página siguie siendo www.chilecomparte.cl/index.php :P y cuando tu cambies de foro se mantenga con el mismo usuario en mi caso que es una página web para mi colegio (soy un chico de ultimo año) que se mantenga y no sea tan fácil de hackear :P [b]Gracias de antemano.[/b] Link to comment Share on other sites More sharing options...
the.manolox Posted August 6, 2010 Report Share Posted August 6, 2010 Hola. Por lo que te entendi, lo que quieres realizar es una validacion de usuario y ademas esta recuerde que estas conectado, independientemente de las paginas que visites (dentro del mismo sitio) Para esto debes trabajar con variables de sesion en php. un ejemplo rapido que te puedo dar es el siguiente. /* Primero tienes que hacer la autentificacion de usuario en tu BD, en donde contenga el nombre de usuario y contraseña*/ //Las variables "Usuario" y "Clave", son los campos que debes traer desde el formulario de login $conexion = fx_conexion(); $query_login = mysql_query("SELECT * FROM usuarios WHERE usuario = '$usuario' AND clave_usuario = '$clave'", $conexion); $rsp_login = mysql_fetch_array($query_login); if(!$rsp_login){ echo 'Error Usuario o la contraseña no son validos'; }else{ echo 'Ya estas Logeado'; //ACA ES DONDE INICIAS LA SESION Y LE DAS UN NOMBRE A LA SESION session_start(); $_SESSION['login'] = $rsp_login['usuario']; } mysql_close($conexion); La funcion FX_CONEXION() es en donde tienes los datos de la conexion a tu base de datos, por un tema de seguridad y buenas practicas encuentro que es mejor hacer asi, ya que abres una conexion a la base de datos y cuando terminas de ocuparla la cierras, asi no se te ralentiza el codigo. Esta funcion la puedes dejar en una pagina aparte como por ejemplo conexion.php o la puedes incluir en la misma pagina que estas trabajando. function fx_conexion(){ /****** CONEXION A LA DB ******/ $database ="base_datos"; $host ="localhost"; $user ="root"; $pass =""; if (!($conexion = mysql_connect($host, $user, $pass))){ exit(); } if (!mysql_select_db($database, $conexion)){ exit(); } return $conexion; } y finalmente para hacer uso de la variable sesion que creaste en la pagina o en otras paginas. siempre tienes que abrir las sesiones con session_start(); y pasas los parametros de la variable $_SESSION['login']; a una variable comun y ahi siempre tendras el nombre de usuario de la persona que se registro en la pagina. Espero que te sirva de ayuda este manual improvisado que escribi. Suerte! :) Link to comment Share on other sites More sharing options...
Alexsoto14 Posted August 6, 2010 Author Report Share Posted August 6, 2010 Oie, gracias por tu respuesta en el foro y me disculpo, por lo del post doble lol, es que cuando cree el post estaba como congestionado el sistema y creí que no lo había publicado. Aca va la pregunta, que tal si te mando lo que llevo son 500 kbs con la base de datos ^^ aver si me podrías ayudar con eso. Claro si no hay problema. http://www.megaupload.com/?d=J2G2OJ0P Aclaro uso XAMPP :P :) Link to comment Share on other sites More sharing options...
the.manolox Posted August 6, 2010 Report Share Posted August 6, 2010 sorry. Pero no tengo tanto tiempo como para ponerme a revisar tu codigo e implementarte el tema de las sessiones. si quieres te pueso ir ayudando en cualquier duda que tengas mediante correo y cosas asi. ya que estoy todo el dia en el correo. Atte. Link to comment Share on other sites More sharing options...
Alexsoto14 Posted August 7, 2010 Author Report Share Posted August 7, 2010 sorry. Pero no tengo tanto tiempo como para ponerme a revisar tu codigo e implementarte el tema de las sessiones. si quieres te pueso ir ayudando en cualquier duda que tengas mediante correo y cosas asi. ya que estoy todo el dia en el correo. Atte. :(, igual gracias pero mandame un MP con tu correo o postealo porque via Mp no me deja enviarte nada ^^ Link to comment Share on other sites More sharing options...
the.manolox Posted August 7, 2010 Report Share Posted August 7, 2010 Okas. [email protected] Link to comment Share on other sites More sharing options...
Alexsoto14 Posted August 11, 2010 Author Report Share Posted August 11, 2010 Oie, ya lo intente y por cuestiones del destino no me funciona jaja ^^. El problema me sale esto. Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\Tests\title.php:8) in C:\xampp\htdocs\Tests\title.php on line 20 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\Tests\title.php:8) in C:\xampp\htdocs\Tests\title.php on line 20 Lo hice en un intento con este código mira. other.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled Document</title> </head> <body> <?php session_start(); if(isset($_SESSION['login'])) { echo "estas logueado como ".$_SESSION['login']; } else { echo "No estas Logueado"; } ?> </body> </html> Title.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled Document</title> </head> <body> <?php mysql_connect("localhost","root",""); mysql_select_db("website"); $query = mysql_query("SELECT * FROM alumnos WHERE usuario='alexsoto00023' AND contrasena='123456';"); $registros = mysql_fetch_assoc($query); if(!$registros) { echo "Sus datos no son validos"; } else { echo "Ya estas logueado<br>"; session_start(); $_SESSION['login'] = $registros['usuario']; echo "Bienvenido " .$_SESSION['login']; echo '<a href="others.php">Testsss</a>'; } ?> </body> </html> Son dos páginas del mismo sitio, lo hice parecido a lo que dijistes y en other que es a donde lo manda el link no da el Session. Link to comment Share on other sites More sharing options...
the.manolox Posted August 12, 2010 Report Share Posted August 12, 2010 Tema Solucionado! El problema era que los session_star(). lo tenia que dejar al principio del codigo. Por lo que hable con el tema ya esta solcionado. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now