Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/08/2010, 15:51
ramiromd
 
Fecha de Ingreso: agosto-2010
Mensajes: 100
Antigüedad: 13 años, 8 meses
Puntos: 2
Problemas en sistema de login PHP

Buenas, soy nuevo en esto de php y también en el foro como veran jeje.
Resulta que estoy trabajando con un sistema de login, para que usuarios registrados entren a una sección restringida del sitio.
El problema es que si bien, logra conectar a la bd, no valida de manera correcta al usuario, es decir me marca usuario invalido.
Dejo el codigo donde valida a los usuarios y la tabla de la bd por si alguno mas experimentado en el tema encuentra algo que yo no :S.
Un saludo y desde ya muchas gracias.-

Check Login
Código:
<?php
$host='sql310.eshost.com.ar'; 
$username='eshos_6252824';
$password='***';
$db_name='eshos_6252824_user';
$tbl_name='usuarios';

//Conectamos con el servidor y seleccionamos la base de datos

echo 'Intentando conectar a '.$host.'<br>';
echo '<b>Respuesta del servidor:</b> <br> ';
$conexion = @mysql_connect($host, $username, $password); // se conecta con el servidor

if (!$conexion){
echo "Error al intentar conectarse con el servidor MySQL<br>";
exit(); 
}else{
echo " Conexion exitosa con el servidor MySQL<br>";
};

if (!mysql_select_db($db_name, $conexion)){  // selecciona la base de datos
echo "No se pudo conectar correctamente con la Base de datos<br>";
exit();
}else{
echo " Conexion exitosa con la Base de datos<br>";
};

//Cogemos los datos que nos llegan desde el formulario ( lo tendremos que crear)

$minombre=$_POST['nick'];
$contrasena=$_POST['password'];

// Unas pequeñas medidas de seguridad para proteger las bases de datos de posibles inyecciones

$minombre = stripslashes($minombre);
$contrasena = stripslashes($contrasena);
$minombre = mysql_real_escape_string($minombre);
$contrasena = mysql_real_escape_string($contrasena);

$sql="SELECT * FROM $tbl_name WHERE username='$minombre' and password='$contrasena'";
$result=mysql_query($sql);

// Contamos el numero de filas
$count=mysql_num_rows($result);

//Si el resultado marcado es $minombre y $contrase�a,deber�a haber solo una fila
if($count==1){

//Registramos usuario y redireccionamos a exito.php
session_register("minombre");
session_register("contrasena");
header("location:exito.php");
}
else {
echo "Nombre de usuario equivocado o contrasena";
}
?>
exito.php
Código:
<?php
session_start();
if(!session_is_registered('myusername')){
header("location:index.html");
}
?>
SQL
Código:
CREATE TABLE IF NOT EXISTS `usuarios` (
  `nick` varchar(50) NOT NULL,
  `password` varchar(25) NOT NULL,
  `Index` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`Index`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;