Programación Web y Scripting > PHP

 hacer login para entrar a una pagina

(1/5) > >>

andres69:
tengo dos archivos php, el primero es para que los usurios se registren y el segundo para que hagan login. Tengo otros dos archivos php,quiero que esos dos archivos en php sean visibles solamente para los usuarios hagan login. Adjunto el codigo de registro y de login. ¿solo tengo que poner session_start() en los otros archivos para que funcione como quiero?

registros.php
--- Código: PHP ---<?    // Configura los datos de tu cuenta    $dbhost='namelocalhost';    $dbusername='usuario';    $dbuserpass='password';    $dbname='base';     // Conexión a la base de datos    mysql_connect ($dbhost, $dbusername, $dbuserpass);    mysql_select_db($dbname) or die("Cannot select database");     // Preguntaremos si se han enviado ya las variables necesarias    if (isset($_POST["username"])) {    $username = $_POST["username"];    $password = $_POST["password"];    $cpassword = $_POST["cpassword"];    $email = $_POST["email"];    // Hay campos en blanco    if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {    echo "<center>un campo está vacio.</center>";    }else{    // ¿Coinciden las contraseñas?    if($password!=$cpassword) {    echo "<center>Las contraseñas no coinciden</center>";    }else{    // Comprobamos si el nombre de usuario o la cuenta de correo ya existían    $checkuser = mysql_query("SELECT username FROM users WHERE username='$username'");    $username_exist = mysql_num_rows($checkuser);     $checkemail = mysql_query("SELECT email FROM users WHERE email='$email'");    $email_exist = mysql_num_rows($checkemail);     if ($email_exist>0|$username_exist>0) {    echo "<center>EL nombre de usuario o la cuenta de correo estan ya en uso<center>";    }else{    //Todo parece correcto procedemos con la inserccion    $query = "INSERT INTO users (username, password, email) VALUES('$username','$password','$email')";    mysql_query($query) or die(mysql_error());    echo "<center>El usuario $username ha sido registrado de manera satisfactoria.</center>";    echo "<center>Pulsa en login para loguearte.</center>";    }    }    }    }    ?> <head><!-- <link href="images/estilo.css" rel="stylesheet" type="text/css">--><body background="images/Fondo.png"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Registro</title></head> <body><center><h1>Registro panel</h1><form action="registro.php" method="POST"><table style="border:1px solid #000000;"><tr><td align="right">Nombre de usuario: <input type="text" size="15" maxlength="25" name="username"></td></tr><tr><td align="right">Password: <input type="password" size="15" maxlength="25" name="password"></td></tr><tr><td align="right">Repite Password: <input type="password" size="15" maxlength="25" name="cpassword"></td></tr><tr><td align="right">Email: <input type="text" size="15" maxlength="40" name="email"></td></tr><tr><td align="center"><input type="submit" value="Registrar"></td></tr><tr><td align="center"><center><font class="content">[ <a href="login.php">"Login"</a> ]</font></center></td></tr></table></form></center>      
login.php

--- Código: PHP ---<?php// Configura los datos de tu cuenta     $dbhost='mysql';    $dbusername='andres';    $dbuserpass='andres';    $dbname='base;  session_start(); // Conectar a la base de datosmysql_connect ($dbhost, $dbusername, $dbuserpass);mysql_select_db($dbname) or die('Cannot select database'); if ($_POST['username']) {//Comprobacion del envio del nombre de usuario y password$username=$_POST['username'];$password=$_POST['password']; if ($password==NULL) {echo "<center>La password no fue enviada<center>";}else{$query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());$data = mysql_fetch_array($query);if($data['password'] != $password) {echo "<center>Login incorrecto<center>";}else{$query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());$row = mysql_fetch_array($query);$_SESSION["s_username"] = $row['username'];header("Location: index.html");}}}?><html><link href="images/estilo.css" rel="stylesheet" type="text/css"><body background="images/Fondo.png"> <head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Login</title></head> <body><center><h1>Login Usuario</h1>    <center>        <form action='login.php' method='POST'><table style='border:1px solid #000000;'><tr><td align='right'>Nombre de usuario: <input type='text' size='15' maxlength='25' name='username'></td></tr><tr><td align='right'>Password: <input type='password' size='15' maxlength='25' name='password'></td></tr><tr><td align='center'><input type="submit" value="Login"><input type="reset" value="Borrar"></td></tr><tr><td align='center'><center><font class="content">[ <a href="registro.php">"Regístrate"</a> ]</font></center></td></tr></table></form></html>  

chesbor:
Lo que deberías poner al principio de los archivos que sólo querés que vean los usuarios logueados sería un
session_start();
if(isset($_SESSION["s_username"])) {
código de la web
} else {
echo "debe loguearse";
}

Tratá de entender todo el proceso de los códigos que descargás porque sino a la más mínima modificación te vas a complicar.

andres69:
gracias chesbor lo hare y te comentare como me fue grcaissss!!!

andres69:
ya tengo la solucion ha este problema, probe el que me dio chesbor, me funciono, pero tambien encpntre este otro:

login.php

--- Código: PHP ---<?phpsession_start();session_register("Cuenta Abierta");$cuenta=array();?> 
archivo protegido1:

--- Código: PHP ---<?phpsession_start();if (!session_is_registered("Cuenta Abierta")) die("<br>n<br>n<br>n<br>n<br>n<br>n<center>n" ."<h1>Para entrar correctamente, debes de hacerlo por <font color='red'>" ."LOGIN</font></h1>n</center>");?> 
archivo protegido2:

--- Código: PHP ---<?phpsession_start();if (!session_is_registered("Cuenta Abierta")) die("<br>n<br>n<br>n<br>n<br>n<br>n<center>n" ."<h1>Para entrar correctamente, debes de hacerlo por <font color='red'>" ."LOGIN</font></h1>n</center>");?> 
salir.php:

--- Código: PHP ---<?phpsession_start();session_destroy();$parametros_cookies = session_get_cookie_params();setcookie(session_name(), 0, 1, $parametros_cookies["path"]);?> 
los dos ejemplos sirver, el que puse aqui y el que me ayudo chesbor.

Gracias chesbor!!!!! por tu ayuda.

gpchip:
Hola que tal, soy nuevo en la comunidad y en esto de la programación y tengo una duda.

Quiero probar el sistema de registro, tal y como lo has dejado expuesto, pero me gustaría saber, si serias tan amable de poner la estructura de la Base de datos. Mis conocimientos de Mysql, no son muy altos y no me aclaro a la hora de crearla. Si me dejaras el archivo sql para importarla a mi BD te lo agradecería.

Muchas gracias

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa