Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/05/2007, 14:29
Avatar de Raulmmmm
Raulmmmm
 
Fecha de Ingreso: marzo-2007
Ubicación: En otro lugar que tú
Mensajes: 1.549
Antigüedad: 18 años
Puntos: 36
Re: hacer registro de usuario y login

Bueno, igual este mensaje es un poco tocho, pero allá voy:
Esta página la tienes que poner (con un include("seguridad.php");) en todas las que quieras proteger:
seguridad.php
Código PHP:
<?php
//Inicio la sesión
session_start();

//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if(!isset($_SESSION['nombre'])){
    
//si no existe, envio a la página de autentificacion
    
header("Location: formularioentrar.php");
    }else{}    
?>
Esta es la página para entrar.
formularioentrar.php
Código PHP:
<?php session_start();
$base="tubase";
$con=mysql_connect(xxx);
mysql_select_db($base,$con);
$lacookien $_COOKIE['nombre'];
$cookien mysql_query("SELECT * FROM usuarios WHERE nombre = '$lacookien' AND recordn= 'si'"$con);
if(!isset(
$_SESSION['nombre'])){
if(isset(
$lacookien)){ 
header("Location: scriptentra.php");
}else{
echo  
'<form ACTION=scriptentra.php METHOD=POST name=entrar>
              <p>Nombre:<input type=checkbox name=recordn value=si>Recordar <br>
          <input name=nombre type=text id=nombre size=20 maxlength=50>
          Contraseña:<br>
          <input name=contrasena2 type=password id=contrasena/><br>
          <input type=submit value=Entrar>
          </p>
      </form>'
;
}}else{
echo 
'Hola, ';
echo 
$_SESSION['nombre'];
echo 
'<br><a href="salir.php">Salir</a>';
}
?>
scriptentra.php
Código PHP:
<?
//todas las variables
$lacookiec $_COOKIE['contrasena'];
$lacookien $_COOKIE['nombre'];
$recordn $_POST['recordn'];
$recordc $_POST['recordc'];
$nombre2=$_POST['nombre']; 
$contrasena3=base64_encode($_POST['contrasena2']); 
//conecto con la base de datos
$conn mysql_connect(xxx); mysql_select_db("i4313498",$conn); 
//si esta vacia la cookie
if(isset($lacookien)){
$ssql2 "SELECT * FROM usuarios WHERE nombre='$lacookien' and contrasena='$lacookiec'";
$rs2 mysql_query($ssql2,$conn);
if (
mysql_num_rows($rs2)!=0){
session_start();
  
session_register("nombre");
$_SESSION['nombre'] = $lacookien;
header("Location: formularioentrar.php");}else{
header("Location: formularioentrar.php");}
}else{
$ssql "SELECT * FROM usuarios WHERE nombre='$nombre2' and contrasena='$contrasena3'";
 
//Ejecuto la sentencia
$rs mysql_query($ssql,$conn);
 
//vemos si el usuario y contraseña es váildo
 //si la ejecución de la sentencia SQL nos da algún resultado 
 //es que si que existe esa conbinación usuario/contraseña 
  
if (mysql_num_rows($rs)!=0){
  
session_start();
  
session_register("nombre");
$_SESSION['nombre'] = $nombre2;
header("Location: formularioentrar.php");
if(
$recordn == 'si'){
//modifica aqui
setcookie("nombre","$nombre2"time()+36000000,"/","tuurl");
setcookie("contrasena","$contrasena3"time()+36000000,"/","tuurl");}else{}
   }else{
header("Location: formularioentrar.php");}}
?>
Y este es el formulario para registrarse
registrarse.php
Código HTML:
<form name=registrarse action=regusuario.php id=registrarse method=post>
        Nombre/Nick/Alias/Mote:<br>
        <input name=nombre2 type=text id=nombre2 size=50>
        <br>
        Contraseña:<br>
          <input name=contrasena2 type=password id=contrasena2 size=50>
         <br>
          E-mai:<br>
  <input name=email2 type=text id=email2 size=50><br>
    
       <input name=Enviar type=submit value=Enviar>      
       </form> 
regusuario.php
Código PHP:
<?php
$conn 
mysql_connect(xxx); mysql_select_db("tubase",$conn);
echo 
"Ya estás registrado.<br>";
$nombre2=$_POST['nombre2'];
   
$contrasena2=base64_encode($_POS['contrasena2']);  
   
$email2=$_POST['email2']; 
   
mysql_query("insert into usuarios (nombre, contrasena, email) values ('$nombre2', '$contrasena2', '$email2')",$link); 

mysql_close($link); //cierra la conexion
?>
Mas o menos sería así. Tienes que crear una tabla usuarios con campos nombre, contrasena y email. Si te sale algun error o algo avisas. Saludos