Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2008, 12:43
Avatar de Carlmycol
Carlmycol
 
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Pregunta Problema con Sistema de Usuarios

Hola, Bueno estoy haciendo un Sistema de Usuarios, para mi agina web y quisiera saber porque me sale este error:

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&iacute;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> 
crea_user.php
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&iacute;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>
login.php
Código PHP:
<html>
<head>
<title>Documento sin t&iacute;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>
comprueba.php
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>
user.php
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&iacute;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>
logout.php
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&iacute;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>
Que problema tienen mis codigos?

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