Hola, les voy a dejar un aporte de registro, login, perfiles, mensajes privados, comentarios en los perfiles, confirmar contraseña.
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
mysql_query("DELETE FROM pruebas WHERE (nick=".$_SESSION['nick'].")"); echo "Su cuenta a sido eliminada";
$_SESSION['logeado'] = false;
}//cierro eliminar cuenta
if($_GET['cambiar'] == 1){//funcion de cambiar contraseña
if(isset($_POST['mandar'])){ if(isset($_POST['pass']) && isset($_POST['confnuevapass']) && isset($_POST['nuevapass'])){ $pass = $_POST['nuevapass']; $nick = $_SESSION['nick'];
$resultado = mysql_query("SELECT pass FROM pruebas WHERE (nick = '$nick')"); if($fila['pass'] == md5($_POST['pass'])){ if($_POST['nuevapass'] == $_POST['confnuevapass']){
if(mysql_query("UPDATE pruebas SET pass = md5('$pass') WHERE (nick = '$nick')")){ 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
if(isset($_POST['mandar'])){ if(isset($_POST['mail'])){ $mail = $_POST['mail'];
$resultado = mysql_query("SELECT nick, pass FROM pruebas WHERE (mail = '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(isset($_POST['registro'])) {
if(($_POST['nick'] != '') && ($_POST['pass'] != '') && ($_POST['mail'] != ''))
{
if($_POST['pass'] == $_POST['confpass'])
{
$nick = $_POST['nick'];
$pass = md5($_POST['pass']); $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">
mail
<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");
if(isset($_POST['enviar'])) {
$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'];
$resultado = mysql_query("SELECT id FROM pruebas WHERE (nick = '$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
}
?>