elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Ayuda Login.php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda Login.php  (Leído 3,183 veces)
Wheels5

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Ayuda Login.php
« en: 28 Noviembre 2013, 05:12 am »

Hola soy nuevo en el mundo de la programacion en PHP quisiera saber si me podrian ayudar con este codigo , no es codigo mio , a nivel localhost con xampp no marca error pero al hacer pruebas en un servidor no deja loguear :

<?php
//captura de datos
$user=$_REQUEST["username"];
$pass=$_REQUEST["pass"];
//conexión a la base de datos.
$con=mysql_connect("localhost", "root", "");
$query="SELECT * FROM inventariodb.users
WHERE username='".$user."';";
$x=mysql_query($query);
@$user1=mysql_result($x, 0, 'username');
@$pass1=mysql_result($x, 0, 'pass');
@$rol=mysql_result($x,0,'rol');
mysql_close();
if($user==$user1 && $pass==$pass1 && $user!="" && $rol=="admin"){
session_start();
$_SESSION["ok"]=true;
$_SESSION["user"]=$user;
$_SESSION["admin"]=true;


header("Location:http://localhost/Inventario/paginas/admin/index admin.php");
exit;
}elseif($user==$user1 && $pass==$pass1 && $user!="" && $rol=="user"){
session_start();
$_SESSION["ok"]=true;
$_SESSION["user"]=$user;



header("Location:http://localhost/Inventario/paginas/index.php");
exit;
}else{
session_destroy();
header("Location:http://localhost/Inventario/paginas/Iniciar Sesion.php");
exit;
}
?>


Ejemplo :

//conexión a la base de datos.
$con=mysql_connect("localhost", "PC", "1234");
$query="SELECT * FROM PC-123.users
WHERE username='".$user."';";


Les agradeceria su ayuda y como dije soy nuevo en esto , he echo login pero simples y este me llamo la atencion , gracias y saludos.


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Ayuda Login.php
« Respuesta #1 en: 28 Noviembre 2013, 06:16 am »

Primero que todo quitales los @ a las lineas,
Código
  1. # SNIPP
  2. @$user1=mysql_result($x, 0, 'username');
  3. @$pass1=mysql_result($x, 0, 'pass');
  4. @$rol=mysql_result($x,0,'rol');
  5. # SNIPP

Despues, pusiste bien los datos para conectar la base de datos? porque en el ejemplo de más abajo aparece otro "string" de conexión.


En línea

Te vendería mi talento por poder dormir tranquilo.
Wheels5

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ayuda Login.php
« Respuesta #2 en: 29 Noviembre 2013, 00:04 am »

<?php
//captura de datos
$user=$_REQUEST["username"];
$pass=$_REQUEST["pass"];
//conexión a la base de datos.
$con=mysql_connect("localhost", "galgos", "123");
$query="SELECT * FROM galgos1-P.users
WHERE username='".$user."';";
$x=mysql_query($query);
$user1=mysql_result($x, 0, 'username');
$pass1=mysql_result($x, 0, 'pass');
$rol=mysql_result($x,0,'rol');
mysql_close();
if($user==$user1 && $pass==$pass1 && $user!="" && $rol=="admin"){
session_start();
$_SESSION["ok"]=true;
$_SESSION["user"]=$user;
$_SESSION["admin"]=true;
header("Location:http://www.galgos/P/paginas/admin/index admin.php");
exit;
}elseif($user==$user1 && $pass==$pass1 && $user!="" && $rol=="user"){
session_start();
$_SESSION["ok"]=true;
$_SESSION["user"]=$user;
header("Location:http://www.galgos/P/paginas/index.php");
exit;
}else{
echo "<script>alert('Error en la Clave o Usuario');
document.location=('#')</script>";
}
?>


Modifique lo que me indicaste y solo me aparce Error en la Clave o Usuario.
Nota : Introduzco bien el password y el usuario , y a un asi manda error.


Y la conexion la tengo asi :

<?php
$con=mysql_connect("localhost","galgos","123")or die("Conexion no realizada");
mysql_select_db("galgos1-P",$con);
?>

« Última modificación: 29 Noviembre 2013, 03:54 am por Wheels5 » En línea

basickdagger


Desconectado Desconectado

Mensajes: 650


System.out.println("this is weird as fuck");


Ver Perfil
Re: Ayuda Login.php
« Respuesta #3 en: 29 Noviembre 2013, 18:29 pm »

mm para saber si no es la contraseña la q esta mal... por no utilizas los valores predeterminados de la maquina local, 'localhost', 'root' ,'',y pruebas, si estas realizando la conexion desde un servidor... verifica los permisos, y ademas me ah pasado q si tu le pones por ejemplo como usuario "mi_usuario" muchas veces te lo registra como midominio_mi_usuario....
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Ayuda Login.php
« Respuesta #4 en: 2 Diciembre 2013, 04:57 am »

Como siempre se ha dicho, printea la query y ejecuta en el mysql directamente, allí sabras si es problema de código o del resultado de la consulta.
En línea

Te vendería mi talento por poder dormir tranquilo.
bbitter

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ayuda Login.php
« Respuesta #5 en: 3 Diciembre 2013, 13:20 pm »

Buenas,
primer punto: el código. ¿Qué condición no se está compliendo?

<?php
//...
if($user==$user1 && $pass==$pass1 && $user!="" && $rol=="admin"){
//logueamos como admin
exit;
}elseif($user==$user1 && $pass==$pass1 && $user!="" && $rol=="user"){
//logueamos como user
exit;
}else{
//no logueamos
exit;
}
?>

Con esta estructura, ¿qué condición es la que nos "echa"?¿La primera o la segunda?¿Es por user, es por pass, ...por el rol?...

Yo propondía algo así:

<?php
//...
if($user==$user1 && $pass==$pass1 && $user!="") {
     // Se ha verificado que es un usuario, a ver que rol desempeña
     switch($rol) {
          case "admin":
          //logueamos como admin
           break;
          case "user":
          //logueamos como user
           break;
          default:
          //notificamos que el rol del usuario no está implementado o lo que sea
          }
}else{
          //notificamos que user o password son incorrectos           
}
?>

más que nada para tener algo más de control y no andar todo el rato preguntando lo mismo. Además en caso de no tener éxito, tenemos un error más específico.

Sería interesante tener la definición SQL de la tabla. A la hora de comparar el pasword, o resto de datos, ¿qué estamos comparando? Es decir, así como los locos, se me ocurrió que quizá pueda ser un error de tipos. Lo mismo podría suceder con otros valores de la siguiente condición.

if ($user==$user1 && $pass==$pass1 && $user!="" && $rol=="user")

Prueba a usar === en lugar de == . El operador '===' no realiza conversión de tipo y evita problemas "inesperados", aunque debes asegurarte de que los dos elementos son del mismo tipo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con sistema login
PHP
pedrox@ 1 1,788 Último mensaje 27 Agosto 2008, 21:25 pm
por Ertai
ayuda con mi login
PHP
General Dmitry Vergadoski 2 2,147 Último mensaje 6 Marzo 2014, 00:41 am
por #!drvy
Ayuda con este login
.NET (C#, VB.NET, ASP)
migyn12 1 1,955 Último mensaje 16 Mayo 2015, 06:22 am
por ThunderCls
Ayuda con login en java « 1 2 »
Java
robertoht 10 6,437 Último mensaje 15 Agosto 2015, 06:49 am
por robertoht
ayuda con login php
PHP
xavidenia 6 5,003 Último mensaje 18 Noviembre 2016, 11:28 am
por xavidenia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines