Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in c:\appserv\www\usuarios\crea_user.php on line 17
Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in c:\appserv\www\usuarios\crea_user.php on line 18
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\usuarios\crea_user.php on line 19
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\appserv\www\usuarios\crea_user.php on line 22
Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in c:\appserv\www\usuarios\crea_user.php on line 34
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in c:\appserv\www\usuarios\crea_user.php on line 35
Error introduciendo el usuario
Los Archivos del Sistema de Usuarios son:
Formulario.html
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Documento sin título</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form action="crea_user.php" method="POST"> Login: <input type="text" name="login"><br> Password: <input type="password" name="pass1"><br> Repite Password: <input type="password" name="pass2"><br> Nombre: <input type="text" name="nombre"><br> Apellidos: <input type="text" name="apellidos"><br> E-mail: <input type="text" name="email"><br> <input type="submit" name="Crear"> </form> </body> </html>
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
$server="localhost"; /* Nuestro server mysql */
$database="usuarios"; /* Nuestra base de datos */
$dbpass="190594"; /*Nuestro password mysql */
$dbuser="Carlmycol"; /* Nuestro user mysql */
/* Primero comprovamos que no existe un usuario con el mismo login ya registrado */
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)){
echo "El usuario ya existe en la BD";
} else {
mysql_free_result($result);
/* Ahora comprovamos que los dos pass coinciden */
if($pass1!=$pass2) {
echo "Los passwords deben coincidir<br>";
echo 'Clica <a href="form.php">aquí</a> para volver al formulario';
} else {
$pass1=crypt($pass2, "semilla");
/* Encripatmos el password, con la clave "semilla" que debeis sustituirpor la que mas os guste. Hay otros metodos de encriptacion, mirad en php.net si quereis conocerlos. */
$query="INSERT INTO usuarios (login, nombre, apellidos, password, email) VALUES ('$login','$nombre','$apellidos','$pass1','$email')";
$result=mysql_db_query($database,$query,$link);
if(mysql_affected_rows($link)){
echo "Usuario introducido correctamente";
} else {
echo "Error introduciendo el usuario";
} /* Cierre del else */
} /* Cierre del else que corresponde a if(mysql_affected_rows.....) */
} /* Cierre del else que corresponde a if(mysql_num_rows...) */
?>
</body>
</html>
Código PHP:
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
session_start();
if(isset($SESSION)){
header("location: user.php"); /* Si ha iniciado la sesion, vamos a user.php */
} else {
/* Cerramos la parte de codigo PHP porque vamos a escribir bastante HTML y nos será mas cómodo así que metiendo echo's */
?>
<html><head><title>Necesita identificación! </title></head>
<body>
<center><h1>Identificate! :D </h1></center>
<form action="comprueba.php" method="POST">
Login: <input type="text" name="login"><br>
Password: <input type="password" name="pass"><br>
<input type="submit" value="Entrar">
</form>
<?
} /* Y cerramos el else */
?>
</body>
</html>
Código PHP:
<?
session_start();
$server="localhost"; /* Nuestro server mysql */
$database="usuarios"; /* Nuestra base de datos */
$dbpass="190594"; /*Nuestro password mysql */
$dbuser="Carlmycol"; /* Nuestro user mysql */
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)==0){
echo "No existe el login introducido";
} else {
$array=mysql_fetch_array($result);
if($array["password"]==crypt($pass,"semilla") ){
/* Comprobamos que el password encriptado en la BD coincide con el password que nos han dado al encriptarlo. Recuerda usar la misma semilla para encriptar los dos passwords. */
$SESSION["login"]=$login;
$SESSION["nombre"]=$array["nombre"];
$SESSION["apellidos"]=$array["apellidos"];
session_register("SESSION");
header("location: user.php");
} else {
echo "Password incorrecto!";
} /* Cerramos este ultimo else */
} /* Cerramos el else que corresponde a la comprobación de que el login existe */
?>
</body>
</html>
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
session_start();
if(!isset($SESSION)){
header("location: login.php");
} else {
echo "<html><body>";
echo "Bienvenido ";
echo $SESSION["nombre"];
echo $SESSION["apellidos"]." ";
echo "<br>Has entrado con el nombre de usuario ";
echo $SESSION["login"];
echo "<br>Para cerrar la sesión, pulsa: <a href='logout.php'>logout</a>";
echo "</body></html>";
}
?>
</body>
</html>
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
session_start();
if(!isset($SESSION)){
header("location: login.php");
} else {
session_unset();
session_destroy();
echo "Las variables de sesión han sido eliminadas, y la sesión se ha dado por finalizada correctamente ;-)";
}
?>
</body>
</html>
Informacion de la base de datos:
Direccion de la base de datos: localhost
Usuario de La Base de datos: Carlmycol
Contraseña del usuario: 190594
Base de datos: usuarios
tabla donde deberian registrarse: registro
Desde ya Muchas gracias, Salu2