PHP - Validacion de usuarios

 
Vista:

Validacion de usuarios

Publicado por Matias_80 (10 intervenciones) el 26/11/2006 02:34:42
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,repcont) VALUES ('".$apellido."','".$nombres."','".$dni."','".$domicilio."','".$mail."','".$contrasena."','".$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";
}

?>

Muchas gracias!!!!!!!!!!!!!!!!!!
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:Validacion de usuarios

Publicado por ludwing (57 intervenciones) el 26/11/2006 14:48:42
No acabo de comprender por qué no quieres que se repitan las contraseñas. Lo normal es que no se pueda repetir el nombre de usuario, pero las contraseñas... Pero bueno, lo que tendrías que hacer es comprobar que no exista la contraseña antes de insertarla:

.....

if ($contrasena != $repcont)
{
die ("Las contraseñas no coinciden.");
}
else
{
//Comprobamos que la contraseña no exista
$sql = "SELECT contrasena FROM registracion WHERE contrasena = '$contrasena'";
$rsContrasena = mysql_query ($sql) or die (mysql_error ());
if (mysql_num_rows ($rsContrasena) > 0){
// Avisamos que la contraseña ya existe... No me gusta un pelo!
die ("La contraseña ya existe!");
}
else{
$sql = "INSERT INTO ......"

.....
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:Validacion de usuarios

Publicado por matias_80 (10 intervenciones) el 26/11/2006 22:59:51
Hola ludwing!! nuevamente gracias!!!

Y ahora dandome cuenta a lo que me decis eso fue lo que quise decir!!!!
Que no haya un mismo nombre de usuario en la DB!!!!!

Como seria la validacion? seria igual a la que me detallastes arrinba solo cambiando el campo?

Muchas gracias por tu ayuda!!
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:Validacion de usuarios

Publicado por matias_80 (10 intervenciones) el 26/11/2006 23:41:58
Hola estoy probando el tema de hacer que no se repita el nombre de usuarios
y lo hice asi guiandome en lo que me dijieron y no se porque no me sale!!
Tira un error e inserta el registrto

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,contrasena,repcont) VALUES ('".$apellido."','".$nombres."','".$dni."','".$domicilio."','".$mail."','".$usuario."','".$contrasena."','".$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
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:Validacion de usuarios

Publicado por ludwing (57 intervenciones) el 27/11/2006 08:24:55
Yo la función mysql_result nunca la he usado...

Yo lo haría de la siguiente manera:
....

// Comprobamos si existe el usuario
$sql = "SELECT usuario FROM registracion WHERE usuario='$usuario'";
$result = mysql_query ($sql);

if (mysql_num_rows ($result) > 0){
echo "Usted ya esta registrado";
exit();
}

.....
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:Validacion de usuarios

Publicado por Matias_80 (10 intervenciones) el 28/11/2006 02:23:51
Hola ludwing!!!

La verdad que agradezco mucho tu ayuda!!
Todo lo que me has dicho me anduvo perfectamente!!!!

Muchas gracias de nuevo!!
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