Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/02/2008, 08:04
Avatar de pato12
pato12
 
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 17 años, 2 meses
Puntos: 101
Re: Sistema de registro y reconocimiento de usuario ( aporte )

Este es el sistema de reconocimiento de usuario con BD:
install.php
Código PHP:
 // Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';
// Conexión a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
// Seleccion de la base de datos
mysql_select_db($dbname) or die('Cannot select database');

// Creacion de la tabla (puedes elegir otros nombres para los campos)
$query 'CREATE TABLE users(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
username VARCHAR(30) NOT NULL,
password VARCHAR(20) NOT NULL,
email VARCHAR(40) NOT NULL)'
;
$result mysql_query($query);
echo 
"!Tabla creada!"
reg.php
Código PHP:
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';
// 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 
"un campo está vacio.";
}else{
// ¿Coinciden las contraseñas?
if($password!=$cpassword) {
echo 
"Las contraseñas no coinciden";
}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 
"EL nombre de usuario o la cuenta de correo estan ya en uso";
}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 
"El usuario $username ha sido registrado de manera satisfactoria.";
}
}
}

reg.html
Código HTML:
<form name="form1" method="post" action="reg.php">
  <TABLE>
    <TBODY>
      <TR>
        <TD align="right">Nombre de usuario:
          <INPUT maxLength="25" size="15" name="username">
        </TD>
      </TR>
      <TR>
        <TD align="right">Password:
          <INPUT type="password" maxLength="25" size="15" value="" name="password">
        </TD>
      </TR>
      <TR>
        <TD align="right">Repite Password:
          <INPUT type="password" maxLength="25" size="15" value="" name="cpassword">
        </TD>
      </TR>
      <TR>
        <TD align="right">Email:
          <INPUT maxLength="25" size="15" name="email">
        </TD>
      </TR>
      <TR>
        <TD align="middle"><INPUT name="submit" type="submit" value="Registro">
        </TD>
      </TR>
    </TBODY>
  </TABLE>
</form> 
entrar.php
Código PHP:
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';

session_start();

// Conectar a la base de datos
mysql_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 
"La password no fue enviada";
}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 
"Login incorrecto";
}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'];
echo 
"Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
}
}

entra.html
Código HTML:
<form name="form1" method="post" action="entrar.php">
  <table cellspacing="0" cellpadding="0">
    <TR>
      <TD align="right">Nombre de usuario:
        <INPUT maxLength="25" size="15" name="username">
      </TD>
    </TR>
    <TR>
      <TD align="right">Password:
        <INPUT type="password" maxLength="25" size="15" value="" name="password">
      </TD>
    </TR>
    <TR>
      <TD align="middle"><INPUT name="submit" type="submit" value="Login">
      </TD>
    </TR>
  </table>
</form> 
index.php
Código PHP:
// Configura la información de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';
session_start();

// Conexión a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');


if (isset(
$_SESSION['s_username'])) {
echo 
"Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!";
}else{
echo 
"Tu no estas autentificado dirígete a login.php o registrate en register.php";
echo 
$_SESSION['s_username'];

salir.php
Código PHP:
<?  
session_start
();  
if(!isset(
$_SESSION['s_username'])){  
header("location: entra.html");  
} else {  
session_unset();  
session_destroy();  
header("location: index.php");  
}  
?>
Espero que les allan serbido,
Salu2

PD: Recomiendo leer http://www.forosdelweb.com/f18/aport...suario-725268/ para entender xD
__________________
Half Music - www.halfmusic.com

Última edición por pato12; 27/12/2009 a las 00:45