Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/12/2004, 09:30
carloscz
 
Fecha de Ingreso: diciembre-2004
Mensajes: 3
Antigüedad: 19 años, 3 meses
Puntos: 0
Adjunto codigo problema de sesiones y header

Probe con session_start(); pero no obtuve ningun resultado. A parte, en php.ini tengo ya session.auto_start = 1;

Adjunto código de los archivos. Muchas gracias!

Carlos.


Archivo origen:chkusuario.php (el que procesa los valores del formulario, realiza la comprobación y el redireccionamiento).


/valores del Form
$pass=$_POST["pas"];
$usuarios=$_POST["user"];

//creando conexion y ejecutando query
mysql_connect( 'localhost', $_SESSION['db_user'], $_SESSION['db_pass']) or die ( 'Unable to connect to server.' );
mysql_select_db( 'publidirecta' ) or die ( 'Unable to select database.' );
$sql = "SELECT * FROM usuarios WHERE user='$usuarios' and password='$pass'";
$result = mysql_query( $sql ) or die ( 'Unable to execute query.' );
//comprueba el numero de filas y si es igual a 1 y solo a 1 (eliminando duplicacion de registros)
//, el login y password son validos. Con ello se evita que si un usuario tiene su registro por dupli-
//cado la aplicacion tampoco le permita entrar.
$num = mysql_numrows( $result );

if ( $num == 1 ) {
//almacenando las variables de session con el usuarioID correspondiente al login, que más adelante
//servira para leer el perfil de usuario (gerarquia) y las paginas a las que tiene acceso para poder
// configurar el menu.
//Creando la variable de session que almacena el ususario ID, perfiles y otras variables de utilidad
//para uso en el resto de la aplicacion.

$_SESSION['idusuario'] = mysql_result($result,0,"idusuario");
$_SESSION['perfil'] = mysql_result($result,0,"gerarquia");

//leyendo las secciones a las que este usuario tiene acceso, creando arrays en los que se almacenan
//los indices de las secciones ($paginas_ok) y los nombres de las paginas (sin path en $mazx).
$sql = "select idsecciones from permisos where idusuario=" . $_SESSION['idusuario'];
$query_leerSecciones=mysql_query($sql);
while($row=mysql_fetch_array($query_leerSecciones) ){
//añadiendo a los arrays
$paginas_ok[]=$row2["idsecciones"];
$mazx[]=damepaginas($row2["idsecciones"]);//llamada a la funcion que retorna los nombres de las paginas.

//si por una misma seccion se especifican varias paginas estas vienen delimitadas con el separador '|'.
}

//creando las variables de session que almacenaran esta informacion haciendola accesible al resto
//de la aplicacion.
$_SESSION['paginas_ok']=$paginas_ok;
$_SESSION['mazx']=$mazx;


//creando la variable de session de comercial, identica a $_SESSION['idusuario']. De momento se
//mantiene pero pendiente de eliminar y habilitar $_SESSION['idusuario'] en todas las partes del
//codigo
$_SESSION['id_crm_comercial']=$id_usuario;
//creacion de una cookie. Ver como afecta mas adelante
//setcookie("identificacion",$id_usuario,time()+1800 0);

//en funcion del perfil, enviar un encabezado de menus u otro


//salvando la informacion de session

switch($_SESSION['perfil']) {
case 0:
Header("Location:/___abc/maininfocampana.php");
exit;
break;
case 1:
Header("Location:/___abc/menuadmin.php");
exit;
break;
case 2:
Header("Location:/___abc/maininfocampana.php");
//echo '<script language="javascript">window.navigate("/___abc/frameinfocampana.htm");;
exit;
break;
case 3:

Header("Location:/___abc/homeclient.php");
exit;
break;
case 4:
//esta funcion registra en la tabla 'acciones' el registro login para el usuario. Por lo
//que he estudiado de codigo hasta el momento, creo que no se usa practicamente en toda la
//aplicacion por lo que tras dicha verificacion se podra descartar. Incluida en 'funciones.php'
carga_accion_comercial($_SESSION['idusuario'],"Login",0);
Header("Location:menuadmin.php");
break;
case 5:
Header("Location:/___abc/homecoste.php");
break;
default:
Header("Location:http://www.publidirecta.com/");
break;
}

}
else{
/* para el caso en que la informacion de registro no sea valida */
include "erro_log.php";
echo '<br><div align="center"><h1>Usuario o password incorrectos!</h1></div><br><div align="center"><a href="javascript:history.back();">Reingresar</a></div>';
}

?>




Archivo 2: maininfocampana.php -- el que da error. Los otros redireccionamientos no dan error.


<?

$idusuario = $_SESSION['idusuario'];
echo $idusuario;
if (!isset($_SESSION['idusuario'])){
echo "la variable global idusuario debe inicializarse";exit;
}
else{echo "la var esta inicializada";exit;}
$iduser=$_SESSION['idusuario'];

include "utilities/saldos.php";

@mysql_connect("localhost",$_SESSION['db_user'],$_SESSION['db_pass']);
@$result3=mysql_db_query('publidirecta',"select * from delegaciones where idusuario=$idusuario order by fecha");
@$usuario=mysql_result($result3,0,"Iddelegacion");

include "utilities/funciones.php";

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<style type="text/css">
<!--
.area {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: 000000;
text-decoration: none;
background-color: #FFFFFF;
border: none;
scrollbar-arrow-color:#000000;
scrollbar-dark-shadow-color:#ffffff;
scrollbar-face-color:#ffffff;
scrollbar-highlight-color:#ffffff;
scrollbar-bordercolor:#ffffff;
scrollbar-shadow-color:#ffffff;
}
-->
</style>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>


<table border="1" align="center" bordercolor="#FFFFFF" width="90%">
<tr bordercolor="#999999"><td colspan="8" align="center"><font size="2" face="verdana">Información Interna</font></td></tr>

<?

@mysql_connect("localhost",$_SESSION['db_user'],$_SESSION['db_pass']);
$masi=mysql_db_query('publidirecta',"select * from news where IDusuario=$usuario and ver=0 order by fecha desc");
while ($row10=@mysql_fetch_array($masi)){
$idinfocampana=$row10["idinformecampana"];
$mosita=mysql_db_query('publidirecta',"select * from campana where IDcampana=$idinfocampana and borrado = 0");
if(mysql_num_rows($mosita) > 0){
echo '<tr bgcolor="#ffffff"><td bordercolor="#ffffff" colspan="4"><br></td></tr>';
echo '<tr bgcolor="#eeeeee"><td bordercolor="#DDDDDD">';
$idcliente=mysql_result($mosita,0,"idcliente");
$cliente=mysql_db_query('publidirecta',"select * from clientes where IDcliente=$idcliente");
printf("<font size=1 face=verdana color=#000000><strong>Cliente:</strong></font><font size=2 color=FF0000 face=verdana> %s</font></td>",@mysql_result($cliente,0,"razon"));
printf("<td bordercolor=#DDDDDD align=center><font size=2 face=verdana color=#FF0000> %s</font></td>",modificafechaver(mysql_result($mosita,0,"fech a")));
echo '<td bordercolor=#DDDDDD><font size="1" face="verdana"><strong>Saldo : </strong></font><font size=2 face=verdana color=#FF0000>';
echo buscasaldcampana($idcliente,$idinfocampana);
echo '</font></td>';
printf("</tr><tr bgcolor=#eeeeee><td bordercolor=#DDDDDD colspan=3><font size=1 face=verdana><strong>Campa&ntilde;a : </strong><font size=2 face=verdana color=FF0000>%s</font></b></font></td>",mysql_result($mosita,0,"nombre"));
printf("</tr><tr><td align=center bordercolor=#DDDDDD bgcolor=#eeeeee colspan=3><font size=1 face=verdana><b>Detalles de campa&ntilde;a</b></font></td></tr><tr><td align=center bordercolor=#DDDDDD colspan=3><font size=1 face=verdana><font size=1 face=verdana>%s</font></td>",mysql_result($mosita,0,"obs"));
printf("</tr><tr><td align=center bordercolor=#DDDDDD bgcolor=#eeeeee colspan=3><font size=1 face=verdana><b>Duracion y fechas</b></font></td></tr><tr><td align=center bordercolor=#DDDDDD colspan=3><font size=1 face=verdana>%s</font></td>",mysql_result($mosita,0,"dura"));
printf("</tr><tr><td align=center bordercolor=#DDDDDD bgcolor=#eeeeee colspan=3><font size=1 face=verdana><b>Poblacion</b></font></td></tr><tr><td align=center bordercolor=#DDDDDD colspan=3><font size=1 face=verdana>%s</font></td>",mysql_result($mosita,0,"pobla"));
//printf("</tr><tr><td align=center bordercolor=#DDDDDD bgcolor=#eeeeee colspan=3><font size=1 face=verdana><b>Fechas</b></font></td></tr><td align=center bordercolor=#DDDDDD colspan=3><font size=1 face=verdana>%s</font></td></tr>",mysql_result($mosita,0,"fechas"));
printf("</tr><tr><td align=center bordercolor=#DDDDDD bgcolor=#eeeeee colspan=3><font size=1 face=verdana><b>Tipo de folletos</b></font></td></tr><td align=center bordercolor=#DDDDDD colspan=3><font size=1 face=verdana>%s</font></td></tr>",mysql_result($mosita,0,"tipofolle"));
printf("</tr><tr><td align=center bordercolor=#DDDDDD bgcolor=#eeeeee colspan=3><font size=1 face=verdana><b>Zonas a distribuir</b></font></td></tr><td align=center bordercolor=#DDDDDD colspan=3><font size=1 face=verdana>%s</font></td></tr>",mysql_result($mosita,0,"zonasdstri"));
printf("</tr><tr><td align=center bordercolor=#DDDDDD bgcolor=#eeeeee colspan=3><font size=1 face=verdana><b>Dirección de recogida de publicidad</b></font></td></tr><td align=center bordercolor=#DDDDDD colspan=3><font size=1 face=verdana>%s</font></td></tr>",mysql_result($mosita,0,"recogida"));
//@mysql_free_result($mosit);
}}
?>
</table>
</body>
</html>