Foros del Web » Programando para Internet » PHP »

direccionamiento a diferentes paginas AYUDA!!

Estas en el tema de direccionamiento a diferentes paginas AYUDA!! en el foro de PHP en Foros del Web. Buenas he empezado un proyecto y he empezao de culo, os explico tengo un formulario de login en cual el usuario mete su mail y ...
  #1 (permalink)  
Antiguo 18/02/2010, 13:27
Avatar de Binaryboy  
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
direccionamiento a diferentes paginas AYUDA!!

Buenas he empezado un proyecto y he empezao de culo, os explico tengo un formulario de login en cual el usuario mete su mail y password, si el mail corresponde a un profe este va a la pagina profesor.html y si es un alumno va a la pagina alumno.html para ello tendria que hacer una consulta sql tengo las tablas en phpMyAdmin y se llaman profesor y la otra alumno, pero no consigo que ande nada de nada ni las consultas ni el redireccionamiento

Me podeis hechar una mano

GRACIAS
  #2 (permalink)  
Antiguo 18/02/2010, 13:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: direccionamiento a diferentes paginas AYUDA!!

bueno sin código que te puedo decir, no somos adivinos!!!!, al menos postea algo y con los errores expuestos
  #3 (permalink)  
Antiguo 18/02/2010, 13:31
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: direccionamiento a diferentes paginas AYUDA!!

aver, aver, mmm, primeramente, no puedes hacer el login???, mmmm, podrias agregar el código del formulario de login y el código donde haces la validación???, oki?
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #4 (permalink)  
Antiguo 18/02/2010, 13:32
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: direccionamiento a diferentes paginas AYUDA!!

recives datos

Código PHP:
Ver original
  1. $email = $_POST["email"];
  2. $consulta = "SELECT cargo FROM tabla WHERE email = '$email'";
  3. $respuesta = mysql_query($consulta);
  4. list($cargo) = mysql_fetch_array($respuesta);
  5. header("location: '".$cargo.".html'");

eso solo una idea

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 18/02/2010, 13:35
 
Fecha de Ingreso: mayo-2009
Mensajes: 44
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: direccionamiento a diferentes paginas AYUDA!!

pues cuando inicien sesion tienes que verificar que tipo de usuario corresponde, puedes poner, por ejemplo, una opcion en el formulario de inicio de sesion que pregunte si es alumno o profesor y dependiendo de eso envias una variable con el valor de "profesion" y con esa variable realizas el redireccionamiento despues de crear el login, seria algo asi...

$valor = $_POST["profesion"]; //alumno vale 1 y profesor vale distinto de 1..

if($valor==1){

header("location:alumnos.html");

}else{

header("location:profesores.html");
}

aunque esto es solo un ejemplo, tal como dice maycolalvarez sin codigo es mas dificil de ayudar ;)
  #6 (permalink)  
Antiguo 18/02/2010, 13:37
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: direccionamiento a diferentes paginas AYUDA!!

wuuuu, acabo de observar, usas extención .html ??? o.o
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #7 (permalink)  
Antiguo 18/02/2010, 13:39
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: direccionamiento a diferentes paginas AYUDA!!

Cita:
wuuuu, acabo de observar, usas extención .html ??? o.o
no es necesario que todas las paginas sean php.. quiza el
procesamiento del formulario este en un php y profesor o alumno.htm
sea solo una pagina estática o.o

bueno aunque con tan poca información difícil adivinarlo :P
__________________
More about me...
~ @rhyudek1
~ Github
  #8 (permalink)  
Antiguo 18/02/2010, 13:50
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: direccionamiento a diferentes paginas AYUDA!!

jajaja, si entiendo, tienes toda la razón, pero... con su "Buenas he empezado un proyecto y he empezao de cu.....", tal vez se le haya escapado XD!!, me referia al login que procesa...
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #9 (permalink)  
Antiguo 18/02/2010, 13:53
Avatar de Binaryboy  
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: direccionamiento a diferentes paginas AYUDA!!

Lo primero perdonar que no ponga codigo, no lo pongo por que lo que hago no tiene nada que ver con lo que quiero, lo de conectarse a la base de datos se, en eso no tengo problema, el problema es como hago consulta a dos tablas diferentes y me redireccione a una o otra web dependiendo si eres profe o alumno, al dar al boton aceptar del formulario de login me lleva a validacion.php y de hay tendria que saltar a los html



GRACIAS
  #10 (permalink)  
Antiguo 18/02/2010, 13:56
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: direccionamiento a diferentes paginas AYUDA!!

o las juntas con el sql: JOIN o las consultas por separado, buscando si en la una o en la otra aparece el mail y así averiguas si es profesor o alumno.
  #11 (permalink)  
Antiguo 18/02/2010, 14:08
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 3 meses
Puntos: 25
Respuesta: direccionamiento a diferentes paginas AYUDA!!

De acuerdo a su cargo, puedes hacer un switch, para eso agregas a la tabla de usuarios una columna llamada cargo y de ahi compruebas

Código PHP:
switch($row['cargo']){
        case 
0// Si es 0, la cuenta es alumno
            
header("location: 'alumno.html'");
        break;
        case 
1// Si es 1, es un profesor
            
header("location: 'profesor.html'");
        break;
        default: 
// Si no es ninguno de los otros, es usuario sin permisos
            
header("location: 'default.html'");
        break;
    } 
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #12 (permalink)  
Antiguo 18/02/2010, 14:08
Avatar de Binaryboy  
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: direccionamiento a diferentes paginas AYUDA!!

l<?
$enlace=mysql_connect("localhost","servidor","pass word");
if (!$enlace) {
die('No hay conexión con Mysql: ' . mysql_error());
}

// Elección de la base de datos que se utilizará en el servidor
$bd ="basedatos";

// seleccionar la bd, es necesario
$bds = mysql_select_db($bd, $enlace);

if (!$bds) {
die ('No se puede conectar a la BD : ' . mysql_error());
}
$sql = "SELECT * FROM profesores WHERE MAIL='".$_POST['mail']."' AND CONTRASEÑA='".$POST['contrasena']"'";

$sql_2 = "SELECT * FROM alumnos WHERE MAIL='".$_POST['mail']."' AND CONTRASEÑA='".$POST['contrasena']"'";


if($sql)
//aqui redireccionaria a profe
else
//aqui a alumno


?>


Con el if estaria bien o que estoy mas perdido con PHP
  #13 (permalink)  
Antiguo 18/02/2010, 14:24
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Pregunta Respuesta: direccionamiento a diferentes paginas AYUDA!!

uuuuuuuuuuuuuuy, error de reglas de normalizacón, regla de generalización!!!

mmm, deberias haber creado, una tabla llamada persona, con toodos sus datos personales (ahi deberia estar, nombres, apellidos, email, direccion, documento, etc), y otras tablas hijas, llamadas profesor (campos como estudios, descripción, etc) y alumno (ciclo, carrera, etc), o algo similar a eso, no tengo mucho tiempo para pensar, jejeje

o crear una gran tabla llamada persona y almacenar a alumnos y profesores y agregar un campo lógico que almacene 1=profesor, 0=alumno....

bueno, ahora como ya esta avanzado, podrias hacer 2 consultas (este código esta al ojo, espero pueda ayudarte):

Código PHP:
<?php
    
/* include de conexion*/
    /* estos campos debes filtrarlos para evitar inyecciones*/
    
$usuario $_POST['usuario'];
    
$clave $_POST['clave'];
    
$sql "select * from profesor where usuario='$usuario' and clave='$clave'";
    
$pro mysql_query($sql);
    
$num_rs_pro mysql_num_rows($pro);
    if (
$num_rs_pro==1){
        
$rs_pro mysql_fetch_assoc($pro);
        
$_SESSION['autorizado'] = 'si';
        
$_SESSION['carfo'] = 'profesor';
        
$_SESSION['ide'] = $rs_pro['ide_pro'];
        
header('Location: profesor.html');
        exit;
    }else{
        
$sql "select * from alumno where usuario='$usuario' and clave='$clave'";
        
$alu mysql_query($sql);
        
$num_rs_alu mysql_num_rows($alu);
        if (
$num_rs_alu==1){
            
$rs_pro mysql_fetch_assoc($pro);
            
$_SESSION['autorizado'] = 'si';
            
$_SESSION['carfo'] = 'alumno';
            
$_SESSION['ide'] = $rs_pro['ide_alu'];
            
header('Location: alumno.html');
            exit;
        }else{
            echo 
"no existes!!!";
        }
    }
?>
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #14 (permalink)  
Antiguo 18/02/2010, 15:22
Avatar de Binaryboy  
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: direccionamiento a diferentes paginas AYUDA!!

Perdona mi insolencia pero este cacho no lo entiendo

$rs_pro = mysql_fetch_assoc($pro);
$_SESSION['autorizado'] = 'si';
$_SESSION['carfo'] = 'alumno';
$_SESSION['ide'] = $rs_pro['ide_alu'];

esto creo que es para que un usuario no pueda entrar sin estar logeado a modo de seguridad

$_SESSION['autorizado'] = 'si';


pero el resto no lo entiendo

y perdona otra vez por que aqui pides el numero de filas

$num_rs_alu = mysql_num_rows($alu);

no pillo na
  #15 (permalink)  
Antiguo 18/02/2010, 15:33
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Pregunta Respuesta: direccionamiento a diferentes paginas AYUDA!!

XD!!!, aver, aver, ejem....... bueno.
Código PHP:
/* aqui obtengo todos los registros para poder obtener su contenido */
$rs_pro mysql_fetch_assoc($pro);
/* es para hacer condiciones luego, esta o no logeado*/
$_SESSION['autorizado'] = 'si';
/* es para hacer una condicion mas, aparte de estar logeado, si va a la página de profesores, pues, podemos hacer una condicion if($_SESSION['cargo'] != 'alumno') lo redireccionamos */
$_SESSION['carfo'] = 'alumno';
/* aqui obtenemos su id, para trabajar luego con el, por ejemplo, jalar sus datos, si hace un comentario, etc, etc */
$_SESSION['ide'] = $rs_pro['ide_alu']; 
Código PHP:
/* aqui obtenemos la cantidad de registros devueltos, en caso no sea igual 1 o esa 0 significa que no es alumno y finalizamos esa condición... */
$num_rs_alu mysql_num_rows($alu); 
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #16 (permalink)  
Antiguo 18/02/2010, 15:34
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: direccionamiento a diferentes paginas AYUDA!!

esas sessiones no son obligatorias, pero eso ya depende de ti, yo las generaria para usarlas luego... suerte :P
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #17 (permalink)  
Antiguo 18/02/2010, 16:15
Avatar de Binaryboy  
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: direccionamiento a diferentes paginas AYUDA!!

no da error de sintaxis pero tanto si meto un profe como alumno me dice que no existen se pasa las condiciones IF por el forro por¿?

EDITO:

he hecho un echo de la consulta sql y no recoje los parametros del formulario, no lo netiendo salen vacios por eso sale lo de no existe

Última edición por Binaryboy; 18/02/2010 a las 16:26
  #18 (permalink)  
Antiguo 18/02/2010, 16:20
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: direccionamiento a diferentes paginas AYUDA!!

y porque no haces la validacion asi:

Código PHP:
$email $_POST["email"];
$consulta "SELECT cargo FROM tabla WHERE email = '$email'";
$respuesta mysql_query($consulta);
$cargo mysql_fetch_array($respuesta);

if(
mysql_num_rows($respuesta) != 0) {
header("Location: '".$cargo['cargo'].".html'");
} else { } 
espero sea algo que te sirva
  #19 (permalink)  
Antiguo 18/02/2010, 17:14
Avatar de Binaryboy  
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: direccionamiento a diferentes paginas AYUDA!!

Sigo igual no se pasan las variables no se por que demonios llevo esto

el formulario es este

Código HTML:
Ver original
  1. <h2 class="titulo">LOGIN...</h2>
  2.                 <div class="informacion">
  3.                     <div class="texto">
  4.                         <div id="login">
  5.                               <div id="nombre">
  6.                              
  7.                                 <label for="mail">Mail:</label> <input type="text" name="mail" value="Usuario" size="15" />
  8.                                 </div>
  9.                             <div id="password">
  10.                                 <label for="contrasena">Password:</label> <input type="password" name="contrasena" value="Password" size="15"/><input id="ok" type="image" src="../imagenes/ok.jpg" name="aceptar"/>

y el php este
Código PHP:
Ver original
  1. $usuario = $_POST['mail'];
  2.     $clave = $_POST['contrasena'];
  3.     $sql = "SELECT * FROM TABLA WHERE MAIL='$usuario' AND CONTRASENA='$clave'";
  4.     $pro = mysql_query($sql);
  5.     $num_rs_pro = mysql_num_rows($pro);
  6.     if ($num_rs_pro==1){
  7.         $rs_pro = mysql_fetch_assoc($pro);
  8.         $_SESSION['COD_CURSO'] = 'si';
  9.         $_SESSION['CARGO'] = 'profesor';
  10.         $_SESSION['ide'] = $rs_pro['IDE_PRO'];
  11.         header('Location: ../profesor.html');
  12.         exit;
  13.     }else{
  14.         $sql = "SELECT * FROM TABLA WHERE MAIL='$usuario' AND CONTRASENA='$clave'";
  15.         $alu = mysql_query($sql);
  16.         $num_rs_alu = mysql_num_rows($alu);
  17.         if ($num_rs_alu==1){
  18.             $rs_pro = mysql_fetch_assoc($pro);
  19.             $_SESSION['CAD_CURSO'] = 'si';
  20.             $_SESSION['CARGO'] = 'alumno';
  21.             $_SESSION['ide'] = $rs_pro['IDE_PRO'];
  22.             header('Location: ../alumno.html');
  23.             exit;
  24.         }else{
  25.             echo "no existes!!!";
  26.             echo $sql;
  27.             echo $usuario."variable";
  28.         }
  29.     }
  30. ?>

como veis imprimo la sql y la varible al final y sale en blanco no viajan desde el formulario no se por que

esto es lo que retorno

no existes!!!SELECT * FROM TABLA WHERE MAIL='' AND CONTRASENA=''variable

Última edición por Binaryboy; 18/02/2010 a las 17:53
  #20 (permalink)  
Antiguo 18/02/2010, 17:18
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: direccionamiento a diferentes paginas AYUDA!!

no veo un formulario en ese codigo...
estas mandando los datos por post?
prueba imprimiendo el array $_POST para ver si llegan los datos.. :/
  #21 (permalink)  
Antiguo 18/02/2010, 17:36
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: direccionamiento a diferentes paginas AYUDA!!

te falta abrir las etiquetas <from action="" method=""></form> para que sea un formulario, estas solamente declarando los input pero no dentro del form
  #22 (permalink)  
Antiguo 18/02/2010, 17:44
Avatar de Binaryboy  
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: direccionamiento a diferentes paginas AYUDA!!

Perdon otra vez si que tengo las etiquetas que he copiado desde el titulo es esta

<form action="php/validar.php" method="POST" enctype="text/plain">

me acabais de abrir los ojos si pasaba los datos lo unico ke lo tenia mal es esto

enctype="text/plain que es para imagenes y eso


GRACIAS

Etiquetas: diferentes, direccionamiento
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 10:32.