Hola tengo un login en mi web hecho por mi pero no consigo hacer que la base de datos guarde a un solo user diferente, es decir si registro a kechu que cuando ponga en el registro otra vez kechu me salga usuario ya existente. Lo he intentado con codigo que encontre y cambie un poco pero ahora no me registra usuarios no se introduce en la BD. Lo quite y estoy como en el proncipio :S
Aqui esta register.php:
Código PHP:
<?php require("requires/header.php"); ?>
<?php
// archivos necesarios
require_once 'noticias/admin/config.php';
require_once 'noticias/admin/conexion.php';
require_once 'noticias/admin/esUsuario.php';
// obtengo puntero de conexion con la db
$dbConn = conectar();
// si se envio el formulario
if ( !empty($_POST['submit']) ) {
// definimos las variables
if ( !empty($_POST['usuario']) ) $usuario = $_POST['usuario'];
if ( !empty($_POST['password']) ) $password = $_POST['password'];
if ( !empty($_POST['re-password']) )$rePassword = $_POST['re-password'];
if ( !empty($_POST['email']) ) $email = $_POST['email'];
// completamos la variable error si es necesario
if ( empty($usuario) ) $error['usuario'] = 'Es obligatorio completar el nombre de usuario';
if ( empty($password) ) $error['password'] = 'Es obligatorio completar la contraseña';
if ( empty($email) ) $error['email'] = 'Es obligatorio completar el email';
if ( $_POST['password'] != $_POST['re-password'] ) {
$error['re-password'] = 'La contraseña no coincide';
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían (este es el codigo que encontre y luego quite)
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0|$username_exist>0) $error['usuario'] = 'Usuario o e-mail ya existente.';
else{
// si no hay errores registramos al usuario
if ( empty($error) ) {
// inserto los datos de registro en la db
$query = "INSERT INTO `usuarios` (usuario,password,email) VALUES ('$usuario','".md5($password)."','$email')";
$result = mysql_query($query, $dbConn);
header( 'Location: index.php?registro=true' );
die;
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Blog Personal</title>
</head>
<body>
<h1>Registro de Usuario</h1>
<? if (!empty($error)) { ?>
<ul>
<? foreach ($error as $mensaje) { ?>
<li><?= $mensaje ?></li>
<? } ?>
</ul>
<? }} ?>
<form action="registrar.php" method="post">
<p>
<label for="usuario">Nombre de usuario</label><br />
<input name="usuario" type="text" class="campos" value="<? if ( ! empty($usuario) ) echo $usuario; ?>" />
</p>
<p>
<label for="password">Contraseña</label><br />
<input name="password" type="password" class"campos" value="<? if ( ! empty($password) ) echo $password; ?>" />
</p>
<p>
<label for="re-password">Repetir Contraseña</label><br />
<input name="re-password" type="password" class="campos" value="<? if ( ! empty($rePassword) ) echo $rePassword; ?>" />
</p>
<p>
<label for="email">Correo Electrónico</label><br />
<input name="email" type="text" class="campos" value="<? if ( ! empty($email) ) echo $email; ?>" />
</p>
<p>
<input name="submit" type="submit" value="Regístrate" />
</p>
</form>
</body>
</html>
<?php require("requires/footer.php"); ?>
Espero que puedan ayudarme y gracias de antemano.
Saludos!