
AYUDA EN REGISTROS DUPLICADOS EN BASE DE DATOS
Publicado por Johan (21 intervenciones) el 14/06/2008 06:00:47
Hola amigos como están, resulta que estoy creando un sitio en el cual los usuarios se registran y llenan los siguientes campos:
Nombre
Nickname
Email
Contraseña
Estos registros llegan a una base de datos llamada "pruebas" y se ubican en una tabla llamada usuarios. Ya tengo listo el formulario y todo el codigo correspondiente para que cuando un usuario ingrese sus datos se haga el registro correspondiente y dichos datos lleguen a la base de datos. El formulario tiene una validación de campos en JAVASCRIPT la cual le indica al usuario que debe llenar todos los campos. Lo que yo necesito es que cuando un usuario vaya a ingresar sus datos o enviarlos a traves del formulario, no me permita ni que el NICKNAME ni el EMAIL se repitan, o sea, que no permita nicks ni emails que ya esten en la base de datos para que no hayan registros duplicados y quiero hacerlo con PHP. Yo quisiera que dichos mensajes me aparezcan en el formulario, por ejemplo:
"este nick no esta disponible ya hay un usuario registrado con el"
"La direccion de email que ingresaste ya esta en nuestra base de datos"
Alguien me podria colaborar, muchas gracias por su ayuda y aporte, es muy importante para mí. Aca les envio el codigo de las 3 paginas que tengo para dicho proceso
1. CONEXION.PHP
<?php
//Se conecta al servidor local
$conexion_usuarios=mysql_connect("localhost","usuario","contraseña");
//Selecciona la base de datos del servidor
mysql_select_db("pruebas",$conexion_usuarios) or die("No se ha podido hacer la conexión con la base de datos");
?>
2. REGIS_USUARIOS.PHP
<html>
<head>
<title>Nuevo Usuario</title>
<script LANGUAGE="JavaScript">
function ValidacionCampos() {
missinginfo = "";
if (document.form1.nombre.value == "") {
missinginfo += " - Nombre";
}
if (document.form1.nickname.value == "") {
missinginfo += " - Nickname";
}
if ((document.form1.email.value == "") ||
(document.form1.email.value.indexOf('@') == -1) ||
(document.form1.email.value.indexOf('.') == -1)) {
missinginfo += " - Email";
}
if(document.form1.contraseña.value == "") {
missinginfo += " - Contraseña";
}
if (missinginfo != "") {
missinginfo ="_____________________________ " +
"Envío incorrecto, debes de llenar o verificar los siguientes campos: " +
missinginfo + " _____________________________" +
" Pulsa enter, y completa nuevamente los campos faltantes";
alert(missinginfo);
return false;
}
else return true;
}
</script>
</head>
</b>
<body>
</p>
<form id="form1" name="form1" method="post" action="confirmacion.php" onSubmit="return ValidacionCampos();">
<h2 align="center"><strong>Ingresar Registro (Nuevo Usuario)</strong></h2>
<p align="center"><strong>Los campos con el asterisco son obligatorios </strong></p>
<p align="center">Nombre<br />
<label>
*
<input name="nombre" type="text" id="nombre" size="35" />
</label>
<br>
Nickname:<br>
<label>
*
<input name="nickname" type="text" id="nickname" size="35">
</label>
<br />
Email<br />
<label>
*
<input name="email" type="text" id="email" size="35" />
</label>
<br />
Contraseña<br />
<label>
*
<input name="contraseña" type="password" id="contraseña" size="35" />
</label>
</p>
<p align="center">
<label>
<input type="submit" name="Submit" value="Ingresar Registro" />
</label></p>
</form>
<center>
<p> </p>
</center>
<p></p>
</body>
</html>
3. CONFIRMACION.PHP
<?php
//Se conecta a la base de datos a traves de la pagina conexion.php
require("conexion.php");
//Captura los campos del formulario y los almacena en variables
$nombre=$_POST['nombre'];
$nickname=$_POST['nickname'];
$email=$_POST['email'];
$contraseña=$_POST['contraseña'];
//Instrucción SQL para insertar un registro en la base de datos
$nuevo_usuario = "INSERT INTO usuarios (nombre, nickname, email, contraseña)VALUES ('".$nombre."','".$nickname."','".$email."','".$contraseña."')";
$consulta_adicion = mysql_query($nuevo_usuario);
$resultado = mysql_query($consulta_adicion, $conexion_usuarios);
mysql_free_result($resultado);
mysql_close($conexion_usuarios);
?>
Nombre
Nickname
Contraseña
Estos registros llegan a una base de datos llamada "pruebas" y se ubican en una tabla llamada usuarios. Ya tengo listo el formulario y todo el codigo correspondiente para que cuando un usuario ingrese sus datos se haga el registro correspondiente y dichos datos lleguen a la base de datos. El formulario tiene una validación de campos en JAVASCRIPT la cual le indica al usuario que debe llenar todos los campos. Lo que yo necesito es que cuando un usuario vaya a ingresar sus datos o enviarlos a traves del formulario, no me permita ni que el NICKNAME ni el EMAIL se repitan, o sea, que no permita nicks ni emails que ya esten en la base de datos para que no hayan registros duplicados y quiero hacerlo con PHP. Yo quisiera que dichos mensajes me aparezcan en el formulario, por ejemplo:
"este nick no esta disponible ya hay un usuario registrado con el"
"La direccion de email que ingresaste ya esta en nuestra base de datos"
Alguien me podria colaborar, muchas gracias por su ayuda y aporte, es muy importante para mí. Aca les envio el codigo de las 3 paginas que tengo para dicho proceso
1. CONEXION.PHP
<?php
//Se conecta al servidor local
$conexion_usuarios=mysql_connect("localhost","usuario","contraseña");
//Selecciona la base de datos del servidor
mysql_select_db("pruebas",$conexion_usuarios) or die("No se ha podido hacer la conexión con la base de datos");
?>
2. REGIS_USUARIOS.PHP
<html>
<head>
<title>Nuevo Usuario</title>
<script LANGUAGE="JavaScript">
function ValidacionCampos() {
missinginfo = "";
if (document.form1.nombre.value == "") {
missinginfo += " - Nombre";
}
if (document.form1.nickname.value == "") {
missinginfo += " - Nickname";
}
if ((document.form1.email.value == "") ||
(document.form1.email.value.indexOf('@') == -1) ||
(document.form1.email.value.indexOf('.') == -1)) {
missinginfo += " - Email";
}
if(document.form1.contraseña.value == "") {
missinginfo += " - Contraseña";
}
if (missinginfo != "") {
missinginfo ="_____________________________ " +
"Envío incorrecto, debes de llenar o verificar los siguientes campos: " +
missinginfo + " _____________________________" +
" Pulsa enter, y completa nuevamente los campos faltantes";
alert(missinginfo);
return false;
}
else return true;
}
</script>
</head>
</b>
<body>
</p>
<form id="form1" name="form1" method="post" action="confirmacion.php" onSubmit="return ValidacionCampos();">
<h2 align="center"><strong>Ingresar Registro (Nuevo Usuario)</strong></h2>
<p align="center"><strong>Los campos con el asterisco son obligatorios </strong></p>
<p align="center">Nombre<br />
<label>
*
<input name="nombre" type="text" id="nombre" size="35" />
</label>
<br>
Nickname:<br>
<label>
*
<input name="nickname" type="text" id="nickname" size="35">
</label>
<br />
Email<br />
<label>
*
<input name="email" type="text" id="email" size="35" />
</label>
<br />
Contraseña<br />
<label>
*
<input name="contraseña" type="password" id="contraseña" size="35" />
</label>
</p>
<p align="center">
<label>
<input type="submit" name="Submit" value="Ingresar Registro" />
</label></p>
</form>
<center>
<p> </p>
</center>
<p></p>
</body>
</html>
3. CONFIRMACION.PHP
<?php
//Se conecta a la base de datos a traves de la pagina conexion.php
require("conexion.php");
//Captura los campos del formulario y los almacena en variables
$nombre=$_POST['nombre'];
$nickname=$_POST['nickname'];
$email=$_POST['email'];
$contraseña=$_POST['contraseña'];
//Instrucción SQL para insertar un registro en la base de datos
$nuevo_usuario = "INSERT INTO usuarios (nombre, nickname, email, contraseña)VALUES ('".$nombre."','".$nickname."','".$email."','".$contraseña."')";
$consulta_adicion = mysql_query($nuevo_usuario);
$resultado = mysql_query($consulta_adicion, $conexion_usuarios);
mysql_free_result($resultado);
mysql_close($conexion_usuarios);
?>
Valora esta pregunta


0