Autor
|
Tema: Ayuda Login.php (Leído 3,172 veces)
|
Wheels5
Desconectado
Mensajes: 2
|
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
|
Primero que todo quitales los @ a las lineas, # SNIPP # 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
Mensajes: 2
|
<?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
Mensajes: 650
System.out.println("this is weird as fuck");
|
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
|
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
Mensajes: 2
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con sistema login
PHP
|
pedrox@
|
1
|
1,779
|
27 Agosto 2008, 21:25 pm
por Ertai
|
|
|
ayuda con mi login
PHP
|
General Dmitry Vergadoski
|
2
|
2,137
|
6 Marzo 2014, 00:41 am
por #!drvy
|
|
|
Ayuda con este login
.NET (C#, VB.NET, ASP)
|
migyn12
|
1
|
1,939
|
16 Mayo 2015, 06:22 am
por ThunderCls
|
|
|
Ayuda con login en java
« 1 2 »
Java
|
robertoht
|
10
|
6,353
|
15 Agosto 2015, 06:49 am
por robertoht
|
|
|
ayuda con login php
PHP
|
xavidenia
|
6
|
4,960
|
18 Noviembre 2016, 11:28 am
por xavidenia
|
|