Hola!
Bueno, estaba haciendo un sistema de registro y el problema es que al loguearme me da error, aquí tenéis los códigos:
registro.html (No da error)
registro.php (No da error)
login.html (No da error)
login.php (Sí da error)
Y el error me lo da al intentar loguearme, el error es:
Los campos de la base de datos son:
[contenido no disponible]
Bueno, estaba haciendo un sistema de registro y el problema es que al loguearme me da error, aquí tenéis los códigos:
registro.html (No da error)
<html>
<head>
<title>Registo | Doodleo</title>
<link rel="stylesheet" href="/estilos.css" type="text/css" media="all">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<script type="text/javascript">
function setFocus(aField) {
document.forms[0][aField].focus();
}
function isAnEmailAddress(aTextField) {
if (document.forms[0][aTextField].value.length<5) {
return false;
}
else if (document.forms[0][aTextField].value.indexOf("@") < 1) {
return false;
}
else if (document.forms[0][aTextField].value.length -
document.forms[0][aTextField].value.indexOf("@") < 4) {
return false;
}
else { return true; }
}
function isEmpty(aTextField) {
if ((document.forms[0][aTextField].value.length==0) ||
(document.forms[0][aTextField].value==null)) {
return true;
}
else { return false; }
}
function validate() {
if (isEmpty("USUARIO")) {
alert("Por favor introduce un nombre de usuario.");
setFocus("USUARIO");
return false;
}
if (isEmpty("CONTRASEÑA")) {
alert("Por favor introduce una contraseña.");
setFocus("CONTRASEÑA");
return false;
}
if (!isAnEmailAddress("EMAIL")) {
alert("El email introducido no es válido.");
setFocus("EMAIL");
return false;
}
return true;
}
</script>
<body>
<div id="global">
<!-- Inicio cabecera -->
<div id="cabecera"><img src="/imagenes/cabecera2.jpg" /></div>
<!-- Fin cabecera -->
<br />
<div id="contenido">
[COLOR="red"]<form action="registro.php" method="post" onSubmit="return validate()">
<label><b>Nombre de usuario:</b> <input type="text" name="USUARIO" size="30"></label>
<br /><br />
<label><b>Contraseña: <input type="password" name="CONTRASEÑA" size="30"></label>
<br /><br />
<label><b>Email:</b> <input type="text" name="EMAIL" size="30"></label>
<br /><br />
<button type="submit">Completar el registro</button>
</form>[/COLOR]
</div>
<br />
<div id="pie">Doodleo - <a href="http://comocreartuweb.com" target="_blank">CCTW</a></div>
</div>
</body>
</html>registro.php (No da error)
<html>
<head>
<title>Registro | Doodleo</title>
<link rel="stylesheet" href="/estilos.css" type="text/css" media="all">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
include("config.php");
// Conexión con el servidor
$link = mysql_connect($server, $db_user, $db_pass)
or die ("No se ha podido conectar al servidor porque ".mysql_error());
// Selección de la base de datos
mysql_select_db($database)
or die ("Error al seleccionar la base de datos porque ".mysql_error());
// Revisar si el nombre de usuario ya se encuentra en la base de datos
$check = "select id from $table where USUARIO = '".$_POST['USUARIO']."';";
$qry = mysql_query($check)
or die ("Could not match data because ".mysql_error());
$num_rows = mysql_num_rows($qry);
if ($num_rows != 0) {
echo "¡Vaya! parece que el nombre de usuario <b>$USUARIO</b> ya está siendo usado.<br />";
echo "Prueba otra vez a registrarte!";
exit;
} else {
// Registrar usuario en la base de datos
$insert = mysql_query("insert into $table values ('NULL', '".$_POST['USUARIO']."', '".$_POST['CONTRASEÑA']."', '".$_POST['EMAIL']."', 'images/avatar.jpg')")
or die("Could not insert data because ".mysql_error());
// Imprimir mensaje en pantalla indicando que el registro se completó
echo "Tu cuenta se ha creado correctamente!<br>";
echo "Ahora puedes <a href=login.html>loguearte</a>!";
}
?>
</body>
</html>login.html (No da error)
<html>
<head>
<title>Login | Doodleo</title>
<link rel="stylesheet" href="/estilos.css" type="text/css" media="all">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
#formulariologin {
border: 3px solid green;
padding: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
#formulariocontraseña {
border: 3px solid green;
padding: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
</style>
</head>
<script type="text/javascript">
function setFocus(aField) {
document.forms[0][aField].focus();
}
function isAnEmailAddress(aTextField) {
if (document.forms[0][aTextField].value.length<5) {
return false;
}
else if (document.forms[0][aTextField].value.indexOf("@") < 1) {
return false;
}
else if (document.forms[0][aTextField].value.length -
document.forms[0][aTextField].value.indexOf("@") < 4) {
return false;
}
else { return true; }
}
function isEmpty(aTextField) {
if ((document.forms[0][aTextField].value.length==0) ||
(document.forms[0][aTextField].value==null)) {
return true;
}
else { return false; }
}
function validate() {
if (isEmpty("USUARIO")) {
alert("Introduce tu nombre de usuario.");
setFocus("USUARIO");
return false;
}
if (isEmpty("CONTRASEÑA")) {
alert("Introduce tu contraseña.");
setFocus("CONTRASEÑA");
return false;
}
return true;
}
</script>
<body>
<div id="global">
<div id="cabecera"><img src="imagenes/cabecera2.jpg"></div>
<div id="contenido">
[COLOR="red"]<form action="login.php" method="post" onSubmit="return validate()">
Usuario: <input type="text" name="USUARIO" size="20">
<br /><br />
Contraseña: <input type="password" name="CONTRASEÑA" size="20">
<br />
<button type="submit"> Login </button>
</form>[/COLOR]
</div>
<br /><br />
<div id="formulariocontraseña">
<form action="forgotpass.php" method="post" onSubmit="return validateresendpass()">
<strong><u>Recuperar contraseña</u></strong><br /><br />
Usuario: <input type="text" name="usuarioo" size="20"><br /><br />
<button type="submit">Reenviar contraseña</button>
</form>
</div>
<br /><br />
</div>
<br />
<div id="pie">Doodleo - <a href="http://comocreartuweb.com">CCTW</a></div>
</div>
</body>
</html>Los del botón de envío son para que el botón sea más ancho, no es ningún error xDlogin.php (Sí da error)
<html>
<head>
<title>Doodleo - CCTW</title>
<link rel="stylesheet" href="/estilos.css" type="text/css" media="all">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
ob_start();
include("config.php");
// Conexión con el servidor
$link = mysql_connect($server, $db_user, $db_pass)
or die ("Could not connect to mysql because ".mysql_error());
// Conexión con la base de datos
mysql_select_db($database)
or die ("Could not select database because ".mysql_error());
$match = "select id from $table where USUARIO = '".$_POST['USUARIO']."'
and password = '".$_POST['CONTRASEÑA']."';";
$qry = mysql_query($match)
or die ("Could not match data because ".mysql_error());
$num_rows = mysql_num_rows($qry);
if ($num_rows <= 0) {
echo "¡Vaya! El usuario <strong>".$_POST['USUARIO']."</strong> no existe o has escrito mal la contraseña<br />";
echo "<a href=login.html>Inténtalo de nuevo</a>";
exit;
} else {
setcookie("loggedin", "".$_POST['USUARIO']."", time()+(3600 * 24));
echo "Bienvenido <strong>".$_POST['USUARIO']."</strong><br />";
echo "Vuelve al inicio y disfruta de las nuevas opciones de ser un usuario registrado!";
}
ob_end_flush();
?>
</body>
</html>Y el error me lo da al intentar loguearme, el error es:
Could not match data because Unknown column 'password' in 'where clause'Los campos de la base de datos son:
[contenido no disponible]