Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problemas con session_start y redireccionamiento de varios usuarios

Estas en el tema de problemas con session_start y redireccionamiento de varios usuarios en el foro de PHP en Foros del Web. Buenas tardes. escribo para pedirles una ayuda con un problema que tengo al momento de trabajar en mi app. web, app esta echa en html ...
  #1 (permalink)  
Antiguo 05/11/2013, 14:34
Avatar de letingel  
Fecha de Ingreso: noviembre-2013
Ubicación: neiva
Mensajes: 41
Antigüedad: 11 años
Puntos: 0
problemas con session_start y redireccionamiento de varios usuarios

Buenas tardes.

escribo para pedirles una ayuda con un problema que tengo al momento de trabajar en mi app. web, app esta echa en html y php, como gestor de bd tengo mysql, esta alojada en un servidor web.

El caso es el siguiente:

-la conexion a bd esta ok
-la verificación de datos esta ok
-pero al momento de redirigir a cada usuario a su distinto perfil se queda en una patalla en blanco y en la barra de dirección sale esto
"http://www.appweb.com/redir.php"
-otra cuestión es que al parecer el session_start no esta funcionando pues perfectamente puedo navegar desde cualquier pc en la app. con la barrra de direccion

me explico:
esta es la pagina de inicio(no es la real solo el ejemplo)
-http://www.appweb.com
partiendo de ella si quisiera entraba a en distintos perfiles y archivos dentro de la app
asi:
-http://www.appweb.com/usuario/gerencia.html

sin siquiera haber logeado.

Colocare los php que estoy usando(tomados de un post de un miembro del foro) que los adecue para mi app.

agradecería toda ayuda pronta para resolver el problema.

login.php

<?php
session_start();
header("Cache-control: private");
require_once("conexion.php");

$sql = "select * from usuarios where id_user = '". mysql_real_escape_string ($_POST['usuario'])."' and pass = '".mysql_real_escape_string ($_POST['contrasena'])."' limit 1";
$resultado = mysql_query($sql) or die (mysql_error());
$data = mysql_fetch_array($resultado);

if($data==0) { header('Location:index.html?error=eu'); }

else {
$_SESSION['idLogin'] = $_POST['usuario'];
header('Location:redir.php');

}?>


el archivo que direccionamiento a cada perfil

redir.php

<?php

session_start();
header("Cache-control: private");

require_once("conexion.php");

if(!$_SESSION['idLogin'] !="0") {
header('Location:"../../index.html?error=es"'); }
else {
$sql = "select id_user,perfil from usuarios where id_user = '$id_user'";
$resultado = mysql_query($sql) or die (mysql_error());
$data = mysql_fetch_array($resultado);

switch ($data['perfil']) {
case 1: header('Location: usuarios/sistemas/sistemas.html'); break;
case 2: header('Location: usuarios/mantenimiento.html'); break;
default: break; }
}
?>


el html al cual debe ser redirigido ejemplo el case 1

sistemas.html

<?php
session_start();
header("Cache-control: private");
require_once('Location:"../../conexion.php");
if(!$_SESSION['idLogin'] !="0") {
header('Location:../../index.html?error=es'); }
?>
<html
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="Pragma" content="no-cache" />

<title>perfil del usuario</title>

<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>
<body>
<div id="footer">
<div class="copyright">
<a href="../../logout.php">Salir</a>
</div>
<div class="footer_links">texto</div>
<div class="fcenter">texto</div>
</div>
</body>
</html>

Reitero que la conexión esta bien, al parecer se queda colgado en la parte de direccionamiento, y lo otro es el session_start esta mal, no debería navegar por la barra de direcciones sin estar logeado mucho menos a perfiles que no debería.

Agradezco toda ayuda que me puedan prestar.
  #2 (permalink)  
Antiguo 05/11/2013, 16:34
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 8 meses
Puntos: 96
Respuesta: problemas con session_start y redireccionamiento de varios usuarios

Por qué sistemas.html tiene codigo php siendo que es un archivo html?
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #3 (permalink)  
Antiguo 08/11/2013, 08:04
Avatar de letingel  
Fecha de Ingreso: noviembre-2013
Ubicación: neiva
Mensajes: 41
Antigüedad: 11 años
Puntos: 0
Respuesta: problemas con session_start y redireccionamiento de varios usuarios

Cita:
Iniciado por SkAr88 Ver Mensaje
Por qué sistemas.html tiene codigo php siendo que es un archivo html?
el html y php se pueden mezclar sin problemas, ese codigo php es para supuesta mente validar q inicio session pero igual no me esta funcionando.
  #4 (permalink)  
Antiguo 29/01/2014, 09:06
 
Fecha de Ingreso: octubre-2013
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problemas con session_start y redireccionamiento de varios usuarios

Buenas tardes; resolvieron éste problema es que yo estoy teniendo un problema similiar.
Gracias
  #5 (permalink)  
Antiguo 04/02/2014, 08:13
Avatar de letingel  
Fecha de Ingreso: noviembre-2013
Ubicación: neiva
Mensajes: 41
Antigüedad: 11 años
Puntos: 0
Respuesta: problemas con session_start y redireccionamiento de varios usuarios

inicio de session:

Código HTML:
Ver original
  1. <h1>INICIO DE SESION</h1><br />
  2. <br />
  3. <form name="inicio" method="post" action="login.php">
  4. <table align="center" style="width: 294px; height: 72px">
  5. <tr>
  6. <td>Usuario:</td>
  7. <td><input type="text" name="usuario" required/></td></tr>
  8. <tr>
  9. <td>Clave:</td>
  10. <td><input type="password" name="contrasena" required/></td></tr>
  11. <table align="center">
  12. <tr>
  13. <td><input type="submit" value="Iniciar" /></td>
  14. <td><input type="reset" value="Limpiar" /></td></tr>    </tbody></table></form>


procesa login

Código PHP:
<?php 
if (!isset($_SESSION)) {
  
session_start();
}

$conexion mysql_connect("localhost","user","pass")
        or die(
"No se pudo realizar la conexion");
    
mysql_select_db("db",$conexion)
        or die(
"ERROR con la base de datos");

$n=$_POST['usuario'];
$p=$_POST['contrasena'];

$resultado=mysql_query("SELECT id_user,perfil,pass FROM usuarios WHERE id_user='$n' and pass='$p' ",$conexion);
$filas=mysql_fetch_array($resultado);


if((
$n != $filas['id_user']) && ($p != $filas['pass'])){

        echo 
'<script language = javascript>
        alert("Usuario o Password errados, por favor verifique.")
        self.location="index.html"
        </script>'
;
}

else{

switch(
$filas['perfil']){


        case ((
$n != $filas['id_user']) && ($p != $filas['pass'])):
        echo 
'<script language = javascript>
        alert("Usuario o Password errados, por favor verifique.")
        self.location="index.html"
        </script>'
;
        break;

        case 
"1":
        
$_SESSION['id_usuario'] = $filas['id_user'];
        
header("location:usuarios/sistemas/sistemas.php");
        break;

        case 
"2":
        
$_SESSION['id_usuario'] = $filas['id_user'];
        
header("location:usuarios/mantenimiento/mantenimiento.php");
        break;

        case 
"3":
        
$_SESSION['id_usuario'] = $filas['id_user'];
        
header("location:usuarios/almacen/almacen.php");
        break;

        case 
"4":
        
$_SESSION['id_usuario'] = $filas['id_user'];
        
header("location:usuarios/almacencampo/almacencampo.php");
        break;

        case 
"5":
        
$_SESSION['id_usuario'] = $filas['id_user'];
        
header("location:usuarios/contabilidad/contabilidad.php");
        break;

        case 
"6":
        
$_SESSION['id_usuario'] = $filas['id_user'];
        
header("location:usuarios/supervisorsig/supervisorsig.php");
        break;
        
        case 
"7":
        
$_SESSION['id_usuario'] = $filas['id_user'];
        
header("location:usuarios/ingeresidente/ordenes.php");
        break;
        
        case 
"8":
        
$_SESSION['id_usuario'] = $filas['id_user'];
        
header("location:usuarios/directorproyectos/directorproyectos.php");
        break;
}
}
?>

Etiquetas: html, 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 14:10.