PHP - AYUDA EN REGISTROS DUPLICADOS EN BASE DE DATOS

   
Vista:

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);

?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA EN REGISTROS DUPLICADOS EN BASE DE DATOS

Publicado por ROCKMUERTE (146 intervenciones) el 15/06/2008 19:26:41
OLA QUE TAL, HAY 3 FORMA UNA MEJOR QUE LA OTRA,.

1 FORMA. POR BASE DE DATOS.-
DEBES VALIDAR EL CAMPO ASIGANDO EN MYSQL DEL LOGI Y MAIL COMO UNIQUE, ASI LA BASE D DATOS IMPEDIRA REPEDICION D CAMPOS.

2 FORMA. POR PHP
DEBES`PRIMERO QUE GUARDAR HACER UNA BUSQUEDA A LA BASE DE DATOS CON ESOS PARAMETROS, Y SI TE DA RESULTADO > A 1 PUES NO RFEGRESAS DICENDO QUE NO PUEDE.

3.FORMA POR AJAX
ES LA MISMA FORMA QUE LA 2 PERO ES MAS ITERACTIVO.

ESPERO TE SIVA SUERTE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA EN REGISTROS DUPLICADOS EN BASE DE DATOS

Publicado por Johan (21 intervenciones) el 17/06/2008 07:52:48
HOLA ROCKMUERTE TE AGRADEZCO MUCHISIMO TU COLABRORACIÓN. ESPERO NO PASAR DE ABUSIVO COMO TE DIJE APENAS ESTOY COMENZANDO EN PHP, ME PUEDES INDICAR MAS O MENOS COMO VA DICHO CÓDIGO, OBVIAMENTE OBVIANDO LA PARTE DE LA CONEXION Y ESAS COSAS. SOLO NECESITO LA SENTENCIA SQL Y LA CONDICION QUE LUEGO MUESTRE EL MENSAJE DE ERROR. DE VERDAD SI ME PUEDES AYUDAR MIL GRACIAS AMIGO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA EN REGISTROS DUPLICADOS EN BASE DE DATOS

Publicado por ROCKMUERTE (146 intervenciones) el 17/06/2008 18:27:54
BIEN CLARO NO HAY PROBLEMA

PARA EL WJEMPLO 1 SON PASOS. DEVO SUPONER QUE TIENES INSTALADO EL PHPMYADMIN., (aunque es una solucion no te la recomiendo puesto que es por erro)

BASE DE DATOS
1.- Selecciona la tabla que deseas agregar VALOR UNIQUE, y EXAMINAR.
2.- Fijate en el listado que te aparece (todos los campos de tu tabla) en la columna 12 hay un icono en forma de una U dale click ayi y listo ese campo solo tendra valores unicos.
3.- Si quieres que varios campos tengas valores unicos entonces haz click en los chkes de los campos y despues en U ubicado en la ultima fila del listo.
PROGRAMACION
<?
$var1=$_post["text1"];
$var2=$_post["text2"];
$var3=$_post["text3"];
$sql=mysql_query("insert into'TABLA' ('campo1', 'campo2', 'campo3') values ("$var1","$var2","$var3")");
if ($sql==0){
echo "buuuuuuuuu no pasa ndaaaaaaaaa parece que ya te registrastye no seas cagon";
}ELSE{echo "bien echo papi eres un amor";} ?>

Listo

PARA EL EJEMPLO 2.

PROGRAMACION
<?
$var1=$_post["text1"];
$var2=$_post["text2"];
$var3=$_post["text3"];
$sql=mysql_query("select * from 'TABLA' where 'campo1'=$var1 AND 'campo2'=$var2 AND 'campo3'=$var3");// suponiendo que quiero las tres tablas si quiero solo una o dos le saco el AND y las demas campos
$num=mysql_num_rows($sql);//hay gente que dice que NO hay que hacer esto si no de fresa un count en la consulta, pero ami me gusta asi y no JODAN
if ($num>=1){
echo "buuuuuuuuu no pasa ndaaaaaaaaa parece que ya te registrastye no seas cagon";
} else{
$sql=mysql_query("insert into'TABLA' ('campo1', 'campo2', 'campo3') values ("$var1","$var2","$var3")");
if (!$sql==0){echo "bien echo papi eres un amor";}
?>

EJEMPLO 3

PROGRAMACION

ya no seas sapo e investiga esta parte, tampoco te la vamos a hacer facil pes, si no, no aprendes y esa no es la idea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA EN REGISTROS DUPLICADOS EN BASE DE DATOS

Publicado por Johan (4 intervenciones) el 17/06/2008 19:15:18
jajajaja tan chulos los mensajes de error, ok amigo eres muy amable voy a ensayar como me va y si algo te comento, hermano muchas gracias por solucionar los problemas de toda esta manada de aprendices que habemos aca jajajajaja, este tipo de sitios no serian grandes sin gente como vos que esta dispuesta ayudar. Cuidate hermano, si algo te aviso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA EN REGISTROS DUPLICADOS EN BASE DE DATOS

Publicado por ROCKMUERTE (146 intervenciones) el 25/03/2009 23:09:45
a chumas me salio un fan enamorado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar