Foros del Web » Programando para Internet » PHP »

Redireccionamiento en php

Estas en el tema de Redireccionamiento en php en el foro de PHP en Foros del Web. Hola buenos dias, los molesto porque tengo un php que me paso un amigo y tengo un problema: Tengo 2 niveles de usuarios nivel 1 ...
  #1 (permalink)  
Antiguo 20/03/2013, 07:57
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Redireccionamiento en php

Hola buenos dias, los molesto porque tengo un php que me paso un amigo y tengo un problema:

Tengo 2 niveles de usuarios
nivel 1 me manda a pagina1.php
nivel 2 me manda a pagina2.php

ahora necesito poder agregar el
nivel 3 que me mande a pagina3.php
nivel 4 que me mande a pagina4.php

tengo este php, alguien puede ayudarme diciendome como puedo hacer para que quede configurado para que pueda hacerlo.

Desde ya muchas gracias de antemano a quien pueda ayudarme.

Código PHP:
<?php
    
//Start session
    
session_start();
    
    
//Include database connection details
    
require_once('config.php');
    
    
//Array to store validation errors
    
$errmsg_arr = array();
    
    
//Validation error flag
    
$errflag false;
    
    
//Connect to mysql server
    
$link mysql_connect(DB_HOSTDB_USERDB_PASSWORD);
    if(!
$link) {
        die(
'Failed to connect to server: ' mysql_error());
    }
    
    
//Select database
    
$db mysql_select_db(DB_DATABASE);
    if(!
$db) {
        die(
"Unable to select database");
    }
    
    
//Function to sanitize values received from the form. Prevents SQL injection
    
function clean($str) {
        
$str = @trim($str);
        if(
get_magic_quotes_gpc()) {
            
$str stripslashes($str);
        }
        return 
mysql_real_escape_string($str);
    }
    
    
//Sanitize the POST values
    
$login clean($_POST['login']);
    
$password clean($_POST['password']);
    
    
//Input Validations
    
if($login == '') {
        
$errmsg_arr[] = 'Login ID missing';
        
$errflag true;
    }
    if(
$password == '') {
        
$errmsg_arr[] = 'Password missing';
        
$errflag true;
    }
    
    
//If there are input validations, redirect back to the login form
    
if($errflag) {
        
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        
session_write_close();
        
header("location: index.php");
        exit();
    }
    
    
//Create query
    
$qry="SELECT * FROM members WHERE login='$login' AND passwd='".md5($_POST['password'])."'"
    
$result=mysql_query($qry);
    
    
//Create query
    //$qry="SELECT * FROM comercio WHERE usuario='$login' AND password='".md5($_POST['password'])."'";
    //$qry="SELECT * FROM members WHERE login='$login' AND passwd='$password' AND estado = '1'"; 
    //$result=mysql_query($qry);
    
    //Check whether the query was successful or not
    
if($result) {
        if(
mysql_num_rows($result) == 1) {
            
$member mysql_fetch_assoc($result);
            if (
$member['permiso'] == '1'){
                                
session_regenerate_id();
                                
$_SESSION['SESS_MEMBER_ID'] = $member['id'];
                                
$_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
                                
$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
                                
session_write_close();
                                
header("location: pagina1.php");
                                exit();        
            }else{
                        if (
$member['estado'] == '0') {
                        
//Login Successful
                        
session_regenerate_id();
                        
$_SESSION['SESS_MEMBER_ID'] = $member['id'];
                        
$_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
                        
$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
                        
session_write_close();
                        
header("location: pagina2.php");
                        exit();
                        }else{
                        
//Login failed
                        
header("location: login-fallo.php");
                        exit();
}
             }
        }else {
            
//Login failed
            
header("location: login-fallo.php");
            exit();
        }
    }else {
        die(
"Query failed");
    }
?>

Salu2 y gracias
  #2 (permalink)  
Antiguo 20/03/2013, 08:04
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: Redireccionamiento en php

Deberás modificar desde la línea 70 a la 92, con 4 opciones de redireccionamiento te conviene poner un switch.

http://php.net/manual/es/control-structures.switch.php
  #3 (permalink)  
Antiguo 20/03/2013, 08:06
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Redireccionamiento en php

y es necesario que tengas definido 4 niveles de users en tu BD por lo visto cuando el campo ESTADO tiene un valor 0 va a un lugar y si tiene valor 1 va a otro... deberias tener dos valores mas, o sea valores 2 y 3 y con la misma estructura IF haces las comparaciones.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #4 (permalink)  
Antiguo 20/03/2013, 08:06
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Redireccionamiento en php

ufff igual la idea es no tocar el codigo, por eso lo plantie asi de esta manera, habra alguna solucion sin modificar el codigo original?.

Gracias igual por la data
  #5 (permalink)  
Antiguo 20/03/2013, 08:07
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Redireccionamiento en php

Amigo loncho_rojas ya tengo definido los valores en la Base de Datos solo me esta faltando el php este con la modificacion para esos 2 valores.
  #6 (permalink)  
Antiguo 20/03/2013, 08:08
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Redireccionamiento en php

Si no queres tocar el codigo original.. NO SE PUEDE... si queres pasar una vehiculo de 4 velocidades a una caja de 6, pues no es posible comprarle una accesorio que haga esa "magia", indefectiblemente tendrás que tocar el motor y la caja =D
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 20/03/2013, 08:11
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: Redireccionamiento en php

Cita:
Iniciado por loncho_rojas Ver Mensaje
Si no queres tocar el codigo original.. NO SE PUEDE... si queres pasar una vehiculo de 4 velocidades a una caja de 6, pues no es posible comprarle una accesorio que haga esa "magia", indefectiblemente tendrás que tocar el motor y la caja =D
Mas claro echale agua!!!
  #8 (permalink)  
Antiguo 20/03/2013, 08:14
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Redireccionamiento en php

Pero no sabemos como esta tu BD man... tu codigo primero verifica si tiene permiso 1, si es así ya hace unas sessiones y directamente pasa a una pagina1.php.. si no, dice que tienes un error... no veo manera de que este mismo código entre a la linea del if ($member['estado'] == '0') ya que si paso la primera condición, o sea que el permiso sea 1, ya lo habrá redireccionado... por ende, no está bien la logica...

Explicanos que quieres hacer... pero no nos digas "quiero redireccionar dependiendo de que resultados tenga".

Explicanos que debe hacer al redireccionar, porque debe redireccionar a la pagina 1 , 2 , 3, 4 y que hará el usuario en esas páginas.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: mysql, redireccionamiento, select, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:19.