Foros del Web » Programando para Internet » PHP »

error en consulta

Estas en el tema de error en consulta en el foro de PHP en Foros del Web. Hola, tengo una página donde al identificarse se manda al usuario a una página u otra dependiendo del tipo de usuario. El caso es que ...
  #1 (permalink)  
Antiguo 14/06/2006, 02:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
error en consulta

Hola, tengo una página donde al identificarse se manda al usuario a una página u otra dependiendo del tipo de usuario. El caso es que se me pierde la sesión en está página cuando hago una consulta con la base de datos y no se porque. Mi codigo es el siguiente:
<?php
include "../funciones/diseño/cabecera.php";
$dni=$_SESSION ['dni'];
$conexion= mysql_connect("localhost","xx","xx") or die("error al conectar");
mysql_select_db("tienda",$conexion) or die("error al elegir base de datos");


$mensajeinfo="INFORMACION";
incluirCabecera($mensajeinfo);

$consulta="select nombre from clientes where dni = '$dni'";
$usuario = mysql_query($consulta,$conexion) or die("error al iniciar usuario");
$nombre= mysql_fetch_array($usuario);

$mensaje="Buenos dias ";
$mensaje .= $nombre['nombre'];
$mensaje .=", seleccione una de las opciones del menú.<br />
En caso de duda consulte la ayuda";
echo $mensaje;
?>
el error sé que está en la consulta a la base de datos, Las tres lineas separadas desde que pone $consulta. Cuando las quito, me sigue la sesion normal, pero si hago la consulta, se me pierde la sesion. Alguien sabe prque y como arreglarlo?
  #2 (permalink)  
Antiguo 14/06/2006, 02:51
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
si ese es todo tu codigo te falta session_start() al principio de mismo
  #3 (permalink)  
Antiguo 14/06/2006, 03:43
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
Cita:
Iniciado por Nefertiter
si ese es todo tu codigo te falta session_start() al principio de mismo
Perdón, se me olvidó decir que incluirCabecera comprueba si existe la sesion y dependiendo del tipo de usuario mostrará un menú u otro.

Código:
<?php
session_start();
/* Se crea todo el diseño de la página dependiendo del usuario*/

if (isset($_SESSION ['usuario'] )){
	if(($_SESSION ['usuario'] )!=""){
	include 'h2.php';
	}else{
	include 'h1.php';
	}

}
else {
include 'h1.php';
}
?>

h2.php:
Código:
<?php
session_start();
/* Se crea todo el diseño de la página dependiendo del usuario*/
?>
<html>
<head>
<title>xx</title>
<link rel="STYLESHEET"type="text/css" href="../css/estilocuerpo.css">
</head>
<body link="yellow" vlink="#ffffcc" alink="#black">
<?
//link para los enlaces normales
//vlink para los enlaces visitados
//alink para los enlaces activos
?>
<table width="100%" cellspacing="0" cellpadding="0" border="0">

<?php

/*
**************************************************************
Se crea el menú según el usuario que vaya a entrar
Dependiendo del usuario del que se trate se mostrará un
menu u otro
**************************************************************
*/


?>
<tr>
	<table width="100%" cellspacing="4" heigh="100%" cellpadding="5" border="0">
    		<tr>
	           <td WIDTH="200" valign="top"><table border="1" cellpadding="5" bgcolor="#1C85BD" width="100%" >

<?php



    switch ($_SESSION ['usuario'])
    {
    case 'clientes':
   {
 ?>

//mostrar menu cliente
			

<?php
    			

    			break;
}
    case 'administrador':
   {
    ?>
			
//mostrar menú admin


<?php
			break;
}


//final

 ?>			        </table>
    </td>

 	<td WIDTH="75%"><table border="0" width="100%">
			<tr>
            <td valign="top">
Dónde si existe la sesion, mostrará uno de estos menús de h2 y si no de h1 que es el menu de los que todavía no se han identificado.

El problema es que al identificarse, la primera vez me muestra bien el menú, pero tras el saludo, el nombre de la sesion se pierde y me muestra el menú de los no identificados. En cambio si elimino las tres lineas que comenté, me muestra bien los menus.
  #4 (permalink)  
Antiguo 16/06/2006, 04:34
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Sigue en: http://www.forosdelweb.com/f18/duda-con-consultas-sesiones-402155/
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 16:52.