 
			
				04/04/2008, 10:30
			
			
			     |  
      |    |    |    Fecha de Ingreso: abril-2008  
						Mensajes: 14
					  Antigüedad: 17 años, 7 meses Puntos: 0     |        |  
        Codigos Registro/login/        Aqui pongo estos codigos para ver si me podeis ayudar a mejorar algo   
Quisiera ponerle para verificar el correo tipo como lo que puso GATORV en aportes   
config.php    Cita:  <?php 
$dbhost="localhost"; 
$dbuser="root"; 
$dbpass=""; 
$db="soft";   
//conectamos y seleccionamos db 
mysql_connect("$dbhost","$dbuser","$dbpass"); 
mysql_select_db("$db");    
//Comenzamos la sesión, esto se explica despues en el Sistema de Login 
session_start();  
?>     registrar.php    Cita:  <?php 
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db   
//Comprobamos que los campos nick, pass y pass1 se han rellenado en el form de reg.php, sino volvemos al form  
if(($_POST[nick] == ' ') or ($_POST[pass] == ' ') or ($_POST[pass1] == ' ') ) 
{ 
Header("Location: reg.php"); //enviamos al form de registro que esta en reg.php 
}else{   
//Comprobamos que la pass y pass1 son iguales, sino, volvemos a reg.php 
if($_POST[pass] != $_POST[pass1]) 
{ 
echo 'Las passwords no son iguales'; 
}else{   
//quitamos el codigo malicioso de $_POST[nick] y $_POST[pass] 
$user = stripslashes($_POST["nick"]); 
$user = strip_tags($user); 
$pass = stripslashes($_POST["pass"]); 
$pass = strip_tags($pass); 
//comprobamos que el usuario no existe en la db 
$usuarios=mysql_query("SELECT nick FROM users WHERE nick='$user' "); 
if($user_ok=mysql_fetch_array($usuarios)) 
{ 
echo 'El usuario ya esta registrado'; 
mysql_free_result($usuarios); //liberamos la memoria del query a la db 
}else{ 
//quitamos todo el codigo malicioso de las demas variables del form de registro 
$email = stripslashes($_POST["email"]); 
$email = strip_tags($email);   
$rollo = stripslashes($_POST["rollo"]); 
$rollo = strip_tags($rollo); 
$rollo = str_replace("\n\r","<br>",$rollo); //se cambian los saltos de linea por <br> 
$rollo = str_replace("\r\n","<br>",$rollo); 
$rollo = str_replace("\n","<br>",$rollo);   
$fecha = time(); 
$level = "2"; //usaremos level 1 para admins, level 2 para los demas (se cambia manualmente desde phpmyadmin)   
//introducimos el nuevo registro en la tabla users 
mysql_query("INSERT INTO users (nick,pass,email,fecha,level,rollo) values ('$user','$pass','$email','$fecha','$level','$roll  o') ");  
echo 'Usuario registrado con éxito';    
}   
}   
}  
echo '<br><a href=perfil.php>Perfil</a>'; 
?>     reg.php    Cita:  <?php  
session_start();  
//datos para establecer la conexion con la base de mysql.  
$conexion=mysql_connect('localhost','root','')or die ('Ha fallado la conexión: '.mysql_error());  
mysql_select_db('soft')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); //incluimos el config.php que contiene los datos de la conexión a la db 
echo '<form action="registrar.php" method="POST"> 
Nick: <input type="text" name="nick" size="30"><br> 
Password: <input type="password" name="pass" size="30" ><br> 
Repetir Password: <input type="password" name="pass1" size="30" ><br> 
email: <input type="text" name="email" size="50"><br> 
Comentarios: <textarea name="rollo" cols="30" rows="10"></textarea><br> 
<input type="submit" name="submit" value="Enviar"></form>'; 
?>     login.php    Cita:  <?php 
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db   
if(!isset($_SESSION[usuario]) ) //comprobamos que no existe la session, es decir, que no se ha logeado, y mostramos el form 
{   
//Creamos el form k irá a autentificar.php para comprobar los datos con la tabla users 
echo '<form action="autentificar.php" method="POST"> 
Nick: <input type="text" name="nick" size="30"><br> 
Password: <input type="password" name="pass" size="30" ><br> 
<input type="submit" name="submit" value="Enviar"></form>';   
}else{   
//SI se ha logeado, mostramos el nick y la opción de deslogearse 
//Este sería el menú que saldría a la gente que esta logeada, se puede modificar y añadir cosas 
echo 'Bienvenido '.$_SESSION[usuario]; //ej Bienvenido Juan 
echo '<br>Tu level es '.$_SESSION[level]; //mostramos el level del user 
if($_SESSION[level] == 1)  
{ 
//mostramos el link para ir a la pagina privada porque el user tiene level 1 (*Nota: el level por defecto es 2, por lo tanto no se le mostrará) 
//*Nota2: para cambiar el level a 1, se tiene k hacer manualmente por phpmyadmin 
echo '<br><a href=paginaprivada.php>Ir a pagina privada</a>';  
}   
echo '<br><a href=logout.php>Salir</a>'; //link para deslogearse, iría a logout.php   
}   
?>
      autentificar.php    Cita:  <?php 
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db   
if( ($_POST[nick] == ' ') or ($_POST[pass] == ' ') )//comprobamos que las variables enviadas por el form de login.php tienen contenido 
{ 
Header("Location: login.php"); //estan vacías, volvemos al index 
}else{   
//comprobamos en la db si existe ese nick con esa pass 
$usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' "); 
if($user_ok = mysql_fetch_array($usuarios)) //si existe comenzamos con la sesion, si no, al index 
{   
session_register("usuario"); //registramos la variable usuario que contendrá el nick del user 
session_register("idusuario"); //registramos la variable idusuario que contendrá la id del user 
session_register("level"); //registramos la variable level que contendrá el level del user 
//damos valores a las variables de la sesión 
$_SESSION[usuario] = $user_ok["nick"]; //damos el nick a la variable usuario 
$_SESSION[idusuario] = $user_ok["id"]; //damos la id del user a la variable idusuario 
$_SESSION[level] = $user_ok["level"]; //damos el level del user a la variable level 
Header("Location: login.php"); //volvemos al login donde nos saldrá nuestro menú de usuario   
}else{ 
echo 'Autentificacion incorrercta<br>Comprueba tus datos'; 
}   
}  
?>     Perfil.php    Cita:  <?php 
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db y la sesión   
if(!isset($id)) 
{ 
echo 'no se ha seleccionado ninguna id'; //no han seleccionado ninguna id,  
}else{   
//comprobamos si esa id existe 
$user=mysql_query("SELECT * FROM users WHERE id='$id'"); 
if($user_ok=mysql_fetch_array($user) ) 
{ 
//todo comprobado, ahora solo falta mostrar los datos 
echo 'Usuario <b>'.$user_ok["nick"].'</b><br>'; 
echo '<br>Email: <a href="mailto:'.$user_ok["email"].'">'.$user_ok["email"].'</a><br>';   
//sacamos la fecha de registro mediante la funcion date 
$fecha=date("d.m.Y - H:i", $user_ok["fecha"]); 
echo 'Fecha de registro: '.$fecha.'<br>';   
//por último mostramos el rollo 
echo 'Rollo:<br>'.$user_ok["rollo"];     
}else{   
echo 'La id seleccionada no existe';   
}   
}    
?>     paginaprivada.php    Cita:  <?php 
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db y la sesión   
if($_SESSION[level] == 1) 
{ 
echo 'Tienes level 1 y puedes ver esta página';   
}else{ 
Header("Location: index.php");  
}   
?>     logout.php    Cita:  <?php 
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db y la sesión   
session_destroy(); //destruimos la sesion 
Header("Location: login.php"); //volvemos al login.php   
?>                |