Foros del Web » Programando para Internet » PHP »

Validacion de usuarios

Estas en el tema de Validacion de usuarios en el foro de PHP en Foros del Web. Hola necesito su ayuda!! Tengo este codigo que lo q hace es ingresar usuarios nuevos a una DB, lo esta ingresando perfecto el problema es ...
  #1 (permalink)  
Antiguo 25/11/2006, 19:46
 
Fecha de Ingreso: noviembre-2006
Ubicación: Capital Federal
Mensajes: 141
Antigüedad: 18 años
Puntos: 1
Validacion de usuarios

Hola necesito su ayuda!!
Tengo este codigo que lo q hace es ingresar usuarios nuevos a una DB,
lo esta ingresando perfecto el problema es q chequea q las contraseñas
(contraseña y repetir contraseña) sean iguales y si son iguales ingresa sino error
y ahora lo que quiero validar y no me sale es si un usuario nuevo quiere ingresar
una contraseña ya existente me diga q ya existe un usuario con esa contraseña en la DB,
asi tengo usuarios en mi DB con distintas contraseñas!!!!!

registracion.php

<form name="form1" action="registracion_2.php" method="post">
<label><strong>Apellido</strong><input name="apellido" type="text" size="30" /><br></label>
<label><strong><br />Nombres</strong><input name="nombres" type="text" size="50" /><br></label>
<label><strong><br />DNI</strong><input name="dni" type="text" size="10" /><br></label>
<label><strong><br />Domicilio</strong><input name="domicilio" type="text" size="100" /></label>
<label><strong><br />Mail</strong><input name="mail" type="text" size="30" /><br></label>
<label><strong><br />Contraseña</strong><input name="contrasena" type="password" /></label>
<label><strong> Repetir contraseña</strong><input name="repcont" type="password" /><br /><br /></label>
<label><input type="submit" name="Submit" value="Enviar" /></label>
<input type="reset" name="Submit2" value="Borrar campos" />
</form>


registracion_2.php

<?php

//conexion a la db
$link = mysql_connect("localhost", "");
mysql_select_db("tablacurso", $link);

$contrasena = $_POST['contrasena'];
$repcont = $_POST['repcont'];
$apellido=$_POST['apellido'];
$nombres=$_POST['nombres'];
$dni=$_POST['dni'];
$domicilio=$_POST['domicilio'];
$mail=$_POST['mail'];

if ($contrasena != $repcont)
{
die ("Las contraseñas no coinciden.");
}
else
{
$sql =" INSERT INTO registracion (apellido,nombres,dni,domicilio,mail,contrasena,re pcont) VALUES ('".$apellido."','".$nombres."','".$dni."','".$dom icilio."','".$mail."','".$contrasena."','".$repcon t."') ";
$result = mysql_query($sql);

}

if ($sql)
{
echo "<font color=ff0000 size=4> El registro ha sido incluido </font>\n";
}
else
{
echo "<p>¡No se ha podido introducir.!</p>\n";
}

?>


Muchas gracias!!!!!!!!!!!!!!!!!!
  #2 (permalink)  
Antiguo 25/11/2006, 20:01
Avatar de Falhor  
Fecha de Ingreso: diciembre-2005
Ubicación: Buenos Aires
Mensajes: 425
Antigüedad: 18 años, 11 meses
Puntos: 5
Te digo que no es recomendable que hagas eso... Pero bueno, si queres que valide que no exista nadie con ese nombre y apellido (Porque no veo el campo usuario):

Código PHP:
$sql="SELECT apellido, nombres FROM registracion";
$result mysql_query($sql);
if(
mysql_result($result,1)==$_POST['apellido'] AND mysql_result($result,2)==$_POST['nombres']){
echo 
"Usted ya esta registrado";
exit();

Aclaracion: Eso adaptalo a tu codigo obviamente.
  #3 (permalink)  
Antiguo 26/11/2006, 06:45
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 18 años
Puntos: 3
Yo lo que te recomendaria es que no valides las contraseñas, sinó el nombre de usuario. Es mucho más logico una validación de usuarios que de contraseñas. Resultaria muy molesto al administrar, tener nombres de usuarios iguales.
Es mi consejo y creo que es lo mas acertado, la decisión es tuya por eso!
Un saludo
  #4 (permalink)  
Antiguo 26/11/2006, 12:51
Avatar de Falhor  
Fecha de Ingreso: diciembre-2005
Ubicación: Buenos Aires
Mensajes: 425
Antigüedad: 18 años, 11 meses
Puntos: 5
Ademas como aclare yo, no es recomendable... Mas que nada si hablamos de un sistema con pocos usuarios ya que seria muy facil sacar la contraseña de otro si por casualidad la que yo elegi ya existe, pero bue, si quiere eso...
  #5 (permalink)  
Antiguo 26/11/2006, 13:13
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 20 años
Puntos: 6
conrtaseñas diferentes ?? no le encuetnro sentido para ke keires eso ?
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #6 (permalink)  
Antiguo 26/11/2006, 16:12
 
Fecha de Ingreso: noviembre-2006
Ubicación: Capital Federal
Mensajes: 141
Antigüedad: 18 años
Puntos: 1
Hola ! nuevamente gracias!!!

Y ahora dandome cuenta lo que quise decir era que no haya un mismo nombre de usuario en la DB!!!!!

La validacion seria igual a la que me detallan arriba solo cambiando el campo por el de usuario!!

Muchas gracias por su ayuda!!
  #7 (permalink)  
Antiguo 26/11/2006, 16:46
 
Fecha de Ingreso: noviembre-2006
Ubicación: Capital Federal
Mensajes: 141
Antigüedad: 18 años
Puntos: 1
Hola estoy probando el tema de hacer que no se repita el nombre de usuarios
y lo hice guiandome en lo que me dijieron y no se porque no me sale!!
Tira un error (q esta mas abajo) e inserta el registrto igual!

Este es el codigo...

<?php

//conexion a la db
$link = mysql_connect("localhost", "");
mysql_select_db("tablacurso", $link);

$usuario = $_POST['usuario'];
$contrasena = $_POST['contrasena'];
$repcont = $_POST['repcont'];
$apellido=$_POST['apellido'];
$nombres=$_POST['nombres'];
$dni=$_POST['dni'];
$domicilio=$_POST['domicilio'];
$mail=$_POST['mail'];

$sql="SELECT usuario FROM registracion";
$result = mysql_query($sql);

if ( mysql_result($result) == $_POST['usuario'] )
{
echo "Usted ya esta registrado";
exit();
}

if ($contrasena != $repcont)
{
die ("Las contraseñas no coinciden.");
}
else
{
$sql =" INSERT INTO registracion (apellido,nombres,dni,domicilio,mail,usuario,contr asena,repcont) VALUES ('".$apellido."','".$nombres."','".$dni."','".$dom icilio."','".$mail."','".$usuario."','".$contrasen a."','".$repcont."') ";
$result = mysql_query($sql);

}

if ($sql)
{
echo "<font color=ff0000 size=4> El registro ha sido incluido </font>\n";
}
else
{
echo "<p>¡No se ha podido introducir.!</p>\n";
}
//mysql_close($conexion);
?>

Y me tira este error

Warning: Wrong parameter count for mysql_result() in c:\apache\htdocs\abm\registracion_2.php on line 19

y esta es la linea


if ( mysql_result($result) == $_POST['usuario'] )

No encuentro porque no me funciona si me pueden ayudar se lo agradecere!!!!!

Saludos.-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.