PHP - login redireccionando a url del usuario

 
Vista:
sin imagen de perfil

login redireccionando a url del usuario

Publicado por sergio (3 intervenciones) el 19/06/2014 22:59:46
Hola a todos, hace poco estoy en el tema de programar y tengo un problema, se que es sencillo pero seguramente no estoy viendo algo o no domino lo que sé. Es un "LOGIN EN PHP CON CONSULTA A DB SQL" es un php donde se ingresa por un formulario Usuario y Password, se consulta a Mysql y según el usuario lo envía a su Url; por ejemplo user1 a user1.php, user2 a user2.php, etc... o sea la base de dato tiene 3 campos (user, pass, url).
Seguramente el Header está mal, o falta alguna variable antes, este es el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
 
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="members"; // Table name
 
//  Conecta a servidor y selecciona base de dato
$link = mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
 
 
// username y password enviado por el formulario
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
 
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
 
//username o name?
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
 
 
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
 
// If result matched $myusername and $mypassword, table row must be 1 row
 
if($count==1){
 
// Register $myusername, $mypassword y redirecciona a "login_success.php" o url 
session_register("myusername");
session_register("mypassword");
 
//header("location:login_sucess.php"); o "location:index.php" en mi caso una URL almacenada en BD
header("location:".$result->url);
 
}
else {
echo "Usuario o Contraseña incorrecta!!";
}
?>

Desde ya gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Salvador

login redireccionando a url del usuario

Publicado por Salvador (125 intervenciones) el 20/06/2014 07:24:27
Hola Sergio,

Pon un ejemplo de la URL a la que quieras direccionar

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

login redireccionando a url del usuario

Publicado por xve (6935 intervenciones) el 20/06/2014 07:58:37
Hola Sergio, te da algun error?
Nos puedes mostrar el formulario?

Creo que esto no esta del todo bien: $result->url, creo que te falta un mysql_fetch_field() para coger el registro, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

login redireccionando a url del usuario

Publicado por sergio (3 intervenciones) el 21/06/2014 04:19:50
Si xve, creería que me faltan esas dos cosas:
(En lugar del típico "location:index.php" se supone primero debería obtener en una variable también el valor de la columna "url" aunque pensé que ya con la línea ($sql="SELECT * FROM $tbl_name...) no haría falta, voy a leer bien sobre "mysql_fetch_field", no me da ningún error pero tampoco me lleva a la url del usuario, queda en blanco simplemente)

header("location:".$result->url);//<--esta es la idea pero puede estar mal o solo faltar esa línea "mysql_fetch_field"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

login redireccionando a url del usuario

Publicado por sergio (3 intervenciones) el 09/07/2014 00:42:54
no hay caso....algo no funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar