Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2013, 08:59
Chilectro
 
Fecha de Ingreso: junio-2006
Mensajes: 17
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta Problema con Login

Buenos días amigos, tengo una problema en cuestión que no se que sucede, tengo un par de proyectos que he utilizado el mismo script de autentificación en host distintos, pero mi sorpresa que ahora quiero usar el mismo script en bluehost y no funciona, explico que es lo que pasa:

tengo dos archivos, login.php y comprobar.php, cuando acceso a login.php ingreso los datos de usuario almacenado en mi DB mysql entra en acción comprobar.php donde valida el usuario, los datos si son corrector y si ingreso un campo vacio mostrando los errores correspondientes a cada uno. Pero al rato de loguearme automaticamente me salta como si no hubiera ingresado ningun dato (justo salta a esta linea echo 'Debe especificar un usuario y password';), he realizado pruebas de poner mal el usuario y la contraseña y me bota el mismo mensaje, aunque deberia botar el error "usuario incorrecto o password incorrecto" , las variables del form si pasan .. intente pasarla por GET y si pasaban.

Ahora les dejo el script de los dos archivos a ver si me pueden dar una mano y ver que es lo que sucede, en local funciona al 100% al igual que en otros host.

Login.php

<!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>Open Services</title>
<style type="text/css">
.centro {
text-align: center;
}
</style>
</head>

<body>

<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="600" border="0" align="center">
<tr>
<td><form action="comprobar.php" method="post">
<table width="600" border="0">
<tr>
<td width="203" rowspan="4"><img src="images/ingreso.jpg" width="190" height="162" /></td>
<td height="36" colspan="2" class="centro"><img src="images/Shape5_fusion_logo.png" width="247" height="96" /></td>
</tr>
<tr>
<td width="166" height="21">Usuario:</td>
<td width="217"><input type="text" name="usuario" size="20" maxlength="20" /></td>
</tr>
<tr>
<td>Contraseña:</td>
<td><input type="password" name="password" size="10" maxlength="10" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top"><input type="submit" value="Ingresar" /></td>
</tr>
</table>
</form></td>
</tr>
</table>



Comprobar.php

<?php
//session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root','123456')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('carga')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
$password = $HTTP_POST_VARS["password"];
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="ingreso.php">Ingreso</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
//header("Location: ingreso.php");
}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();

?>

Saludos y muchas gracias de antemano por su ayuda

Rafa