Problema alta usuario
Publicado por Quiroga (12 intervenciones) el 22/02/2010 18:23:37
Hola!!
Vuelvo a tener problemas...
A la hora de dar de alta a un usuario necesito 2 cosas. Primero que se compruebe si estan los 2 campos rellenos (usuario y password) y segundo comprobar que dicho usuario no existe ya en la BBDD.
Por ahora estoy en el primer paso y soy incapaz de hacer que avance... Pongo el codigo para que os sea mas facil entenderme:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Alta de nuevo usuario</title>
</head>
<body bgcolor="#000000">
<font color="#FFFFFF">
<table width="100%" height="100%">
<tr>
<td valign="middle">
<div align="center">
<form action="alta.php" method="post">
<h2>Fomulario de Alta de usuario.</h2><br /><br />
User: <input type="text" name="nom" value="" />
<br />
Pass: <input type="password" name="pass" value="" />
<br /><br />
<input type="submit" name="enviar" value="Aceptar" />
<input type="submit" name="volver" value="Volver" />
</form>
</div>
</td>
</tr>
</table>
</font>
<?php
if ($_REQUEST['enviar']=="Aceptar")
{
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("Proyecto", $con);
$nmb = strlen($_REQUEST[nom]);
$psw = strlen($_REQUEST[pass]);
if ($nmb > 0)
{
if ($pass > 0)
{
mysql_query("INSERT INTO usuarios(Nombre, Password) VALUES ('$_REQUEST[nom]', '$_REQUEST[pass]')");
mysql_close($con);
echo "<script type='text/javascript'>";
echo "window.location='Index.php'";
echo "</script>";
}
else
{
Echo "<br><center><font color='white'>Debes rellenar la contraseña.</font></center>";
}
}
else
{
Echo "<br><center><font color='white'>Debes rellenar el usuario.</font></center>";
}
}
if ($_REQUEST['volver']=="Volver")
{
echo "<script type='text/javascript'>";
echo "window.location='Index.php'";
echo "</script>";
}
?>
</body>
</html>
Cuando entra en los IF, funciona bien si solo introduces el usuario y dejas el Password vacio o viceversa, mostrando el mensaje preciso en cada momento. En cambio, si dejas los 2 campos vacios o los rellenas aparece siempre el mensaje "Debes rellenar la contraseña.".
Por que me ocurre esto?? Que parte del IF tengo mal?? Siento ser tan torpe, porque seguro que el fallo es evidente...
Gracias a todos!
Vuelvo a tener problemas...
A la hora de dar de alta a un usuario necesito 2 cosas. Primero que se compruebe si estan los 2 campos rellenos (usuario y password) y segundo comprobar que dicho usuario no existe ya en la BBDD.
Por ahora estoy en el primer paso y soy incapaz de hacer que avance... Pongo el codigo para que os sea mas facil entenderme:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Alta de nuevo usuario</title>
</head>
<body bgcolor="#000000">
<font color="#FFFFFF">
<table width="100%" height="100%">
<tr>
<td valign="middle">
<div align="center">
<form action="alta.php" method="post">
<h2>Fomulario de Alta de usuario.</h2><br /><br />
User: <input type="text" name="nom" value="" />
<br />
Pass: <input type="password" name="pass" value="" />
<br /><br />
<input type="submit" name="enviar" value="Aceptar" />
<input type="submit" name="volver" value="Volver" />
</form>
</div>
</td>
</tr>
</table>
</font>
<?php
if ($_REQUEST['enviar']=="Aceptar")
{
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("Proyecto", $con);
$nmb = strlen($_REQUEST[nom]);
$psw = strlen($_REQUEST[pass]);
if ($nmb > 0)
{
if ($pass > 0)
{
mysql_query("INSERT INTO usuarios(Nombre, Password) VALUES ('$_REQUEST[nom]', '$_REQUEST[pass]')");
mysql_close($con);
echo "<script type='text/javascript'>";
echo "window.location='Index.php'";
echo "</script>";
}
else
{
Echo "<br><center><font color='white'>Debes rellenar la contraseña.</font></center>";
}
}
else
{
Echo "<br><center><font color='white'>Debes rellenar el usuario.</font></center>";
}
}
if ($_REQUEST['volver']=="Volver")
{
echo "<script type='text/javascript'>";
echo "window.location='Index.php'";
echo "</script>";
}
?>
</body>
</html>
Cuando entra en los IF, funciona bien si solo introduces el usuario y dejas el Password vacio o viceversa, mostrando el mensaje preciso en cada momento. En cambio, si dejas los 2 campos vacios o los rellenas aparece siempre el mensaje "Debes rellenar la contraseña.".
Por que me ocurre esto?? Que parte del IF tengo mal?? Siento ser tan torpe, porque seguro que el fallo es evidente...
Gracias a todos!
Valora esta pregunta


0