Bueno primero en empesar les voy a dar un detalle asi cuando prueben crear sus cuentas se la pueden crear bien, porque yo lo hice en localhost, y la funcion mail no me funciona ahi, si lo quieren seguir haciendo en localhost, cuando se registran, van a la tabla "pruebas", y sacan el codigo generado en el campo "codigo", y en una URL escriben localhost/confirmar.php?codigo=SU CODIGO . Para los que lo quieren hacer con mail, solo añadanle la funcion mail con un link a la pagina confirmar.php donde la variable GET_['codigo'] valga el generado en el registro en el mensaje del mail.
Yo ya tengo unas cuentas creadas.
Si quieren que les funcione bien, cambien en conexion.php donde dice "estudiophp", cambienlo por su base de datos, por el nombre de su base de datos.
LEAN ESTO : Van a tener que cambiar algunas URLS porque yo los archivos los tengo en una carpeta mia, espero que eso no sea una molestia.
Aca van los archivos :
conexion.php :
Código PHP:
Ver original
<?php $nombre_server[1] = 'localhost'; $nombre_user[2] = 'root'; $nombre_db[3] = 'estudiophp'; $password[4] = ''; $conexion = @mysql_connect($nombre_server[1],$nombre_user[2],$password[4]) or exit ('Los datos ingresados no existen'); if($_GET['desconectar'] == 1){//funcion de deslogeo $_SESSION['logeado'] = false; echo "Usted se a deslogeado con exito"; }// cierro deslogeo if($_GET['borrar'] == 1){//funcion de eliminar cuenta echo "Su cuenta a sido eliminada"; $_SESSION['logeado'] = false; }//cierro eliminar cuenta if($_GET['cambiar'] == 1){//funcion de cambiar contraseña $nick = $_SESSION['nick']; if($_POST['nuevapass'] == $_POST['confnuevapass']){ echo "La contraseña se a cambiado con exito"; } else{ echo "No se a podido cambiar la contraseña, vuelva a intentar"; } } else{ echo "Las contraseñas no coinciden"; } } else{ echo "La contraseña insertada no coincide con la de la base de datos"; } } else{ echo "Debera rellenar todos los campos"; } } ?> <form method="post" action="login.php?cambiar=1"> contraseña anterior<input type="text" name="pass"> nueva contraseña<input type="text" name="nuevapass"> repetir contraseña<input type="text" name="confnuevapass"> <input type="submit" name="mandar"> </form> <?php }// cierro cambiar pass if($_GET['recordar'] == 1){//abre recordar contraseña $mail = $_POST['mail']; } else{ echo "Introduzca un mail valido"; } } ?> <form method="post" action="login.php?recordar=1"> Introduzca su mail<input type="text" name="mail" /> <input type="submit" name="mandar" /> </form> <?php }//cierro recordar contraseña ?>
registro.php :
Código PHP:
Ver original
<?php include("conexion.php"); { if(($_POST['nick'] != '') && ($_POST['pass'] != '') && ($_POST['mail'] != '')) { if($_POST['pass'] == $_POST['confpass']) { $nick = $_POST['nick']; $mail = $_POST['mail']; $resultado = mysql_query("SELECT nick, mail FROM pruebas WHERE (nick = '$nick') OR (mail = '$mail')"); if($fila['nick'] == $nick) { echo "El nick esta en uso"; } elseif($fila['mail'] == $mail) { echo "El mail esta en uso"; } else { mysql_query("insert into pruebas(nick,pass,mail,codigo,estado) values ('$nick','$pass','$mail','$codigo',0)"); echo 'Los datos han sido enviados correctamente'; } else echo "Mail no valido"; } } else { echo 'Las contraseñas no coinciden'; } } else { echo 'Debera rellenar todos los campos'; } } if($_SESSION['logeado'] == true){ echo "Usted esta logeado"; } else{ ?> <html> <head> <title>Registro</title> </head> <body> <form method="post" action="registro.php"> nick <input type="text" name="nick" value="<?php echo $_POST['nick'];?>"> pass <input type="password" name="pass"> confirmar contraseña <input type="password" name="confpass"> <input type="text" name="mail" value="<?php echo $_POST['mail'];?>"> <input type="submit" value="enviar" name="registro"> </form> </body> </html> <?php } ?>
login.php :
Código PHP:
Ver original
<?php include("conexion.php"); { $nick = $_POST['nick']; $pass = $_POST['pass']; { $resultado = mysql_query("SELECT nick, pass ,estado, id FROM pruebas WHERE (nick = '$nick') AND (pass = md5('$pass'))"); { if($fila['estado'] == 1){ $_SESSION['nick'] = $nick; $_SESSION['logeado'] = true; $_SESSION['id'] = $fila['id']; } else{ echo "Su cuenta no a sido activada"; } } else{ echo "Usuario o contraseña incorrectos."; } } else{ echo "Usuario o contraseña incorrectos."; } } ?> <?php if($_SESSION['logeado'] == true){//abre logeo echo "Usted ".$_SESSION['nick']." esta logeado"; ?> </br></br> <a href="<?php $_SERVER['PHP_SELF']?>?desconectar=1">Salir</a> </br> </br> <a href="<?php $_SERVER['PHP_SELF']?>?borrar=1">Eliminar cuenta</a> </br> </br> <a href="<?php $_SERVER['PHP_SELF']?>?cambiar=1">Cambiar contraseña</a> </br> </br> <a href="leermensaje.php">Leer mensajes privados</a> <?php $nick = $_SESSION['nick']; $idperfil = $fila['id']; $resultado = mysql_query("SELECT nombre, fecha, comentario, idnombre FROM comentarios WHERE (idperfil = '$idperfil')"); echo "<br/>"; echo "<br/>"; echo "Nombre: <a href='perfil.php?id=".$fila['idnombre']."'>".$fila['nombre']."</a>"; echo "<br/>"; echo "----"; echo "<br/>"; echo "Comentario: ".$fila['comentario']; echo "<br/>"; echo "---------------------------------------"; echo "<br/>"; } }//if donde termina el logeo else{ ?> <html> <head> <title>Login</title> </head> <body> <form method="post" action="login.php"> Nick:<input type="text" name="nick"> Password:<input type="password" name="pass"> <input type="submit" name="enviar"> </form> <a href="<?php $_SESSION['PHP_SELF']?>?recordar=1">Recordar contraseña</a> </body> </html> <?php } ?>