Foros del Web » Programando para Internet » PHP »

problema con session

Estas en el tema de problema con session en el foro de PHP en Foros del Web. Hoa vengo trabajando con un sistema de session asi Código PHP: <?php session_start (); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="css/envioPostVenta.css"/> <title>Envio</title> </head> <body> <div id="general"> <div id="uno"> <div id="claseEnvio"> ...
  #1 (permalink)  
Antiguo 22/03/2013, 13:27
 
Fecha de Ingreso: junio-2010
Mensajes: 221
Antigüedad: 13 años, 10 meses
Puntos: 3
problema con session

Hoa vengo trabajando con un sistema de session asi

Código PHP:
<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/envioPostVenta.css"/>
<title>Envio</title>
</head>
<body>
<div id="general">
<div id="uno">
<div id="claseEnvio">
<?php


if(isset($_SESSION["admin"])){
    if(
date("H")>=12 && date("H")<=18){
    echo 
"Buenas tardes, ";}
    else if(
date("H")>=18){
    echo 
"Buenas noches, ";
    }
    
    echo 
"Buenos días ".$_SESSION["admin"].".<br><br> Bienvenido, Te saluda Isolu.<br><br> ";
    echo 
"<a href='consultarClientes.php'>¿Deseas responder las consultas de tus clientes?</a><br><br>";
    }else{
?>




<form action="comprobacion.php" method="post">
usuario<br><input type="text" name="nombre"\><br>

password<br><input type="text" name="pass"\><br>

<input type="submit" value="iniciar session">

</form>

<?php
if(isset($_SESSION["llene"])){
   echo 
$_SESSION["llene"]."<br>";
   unset  (
$_SESSION["llene"]);
   }else if(isset(
$_SESSION["error"])){
   echo 
$_SESSION["error"]."<br>";
   unset  (
$_SESSION["error"]);
   }
   }
   
   
if(isset(
$_SESSION["muestreConsultas"])){
            echo 
$_SESSION["muestreConsultas"]=;
            unset  (
$_SESSION["muestreConsultas"]);
                }
?>

<a href="logout.php">cerrar sesion</a>







</div><!--hasta aqui codigo php-->
</div><!--hasta aqui div uno-->

<div id="dos">
<p>
<a id="dedo" href=""> <img src="images/imagesEnvio/isolu.gif" width="37" height="50" /></a></p>


</div><!--hasta aqui div dos-->

</div><!--hasta aqui div general-->

<div id="footer">
</div><!--hasta aqui footer-->
<div id="direccion" style="margin:0 auto 0 auto;
width:200px;
padding:10px 0 20px 0;">
<img class="img" src="images/imagesEnvio/direccion-footer.gif" width="199" height="47" alt="direccion" />
</div><!--hasta aqui direccion-->
</body>
</html>
tengo esta otra pagina de :


Código PHP:
<?php
session_start
();


if(isset(
$_SESSION["admin"])){
   
$_SESSION["muestreConsultas"]=$uno;
   }
header("location:userConsultas.php");

?>
como podria hacer, es que vengo intentandolo hace rato, para poner los resultados de una base de datos en la variable $uno, para que me cargue en la pagina principal.

Porfavor agradecere mucho su orientación

Saludos Cordiales
  #2 (permalink)  
Antiguo 22/03/2013, 15:03
Avatar de ZonaRLX  
Fecha de Ingreso: enero-2011
Mensajes: 75
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: problema con session

Disculpa mucho pero no se que es lo que estas intentando hacer, no veo que es la variable $uno

No se si este bien, pero si lo que intentas es imprimir resultados de otro archivo es con:
include("RUTA DEL ARCHIVO");

y en ese archivo agrega:

$uno="RESULTADO";

Espero que eso sea lo que preguntas
  #3 (permalink)  
Antiguo 22/03/2013, 20:00
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: problema con session

Yo así con las prácticas de adivino que he desarrollado en el foro, deduzco que intenta poner los resultados de la BD en una session tipo array... pero la verdad no se para qué... y no es que no se pueda, pero mientras no le encuentre utilidad mi cerebro se niega a desarrollar el script.. =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...
  #4 (permalink)  
Antiguo 22/03/2013, 23:55
 
Fecha de Ingreso: junio-2010
Mensajes: 221
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: problema con session

Cita:
Iniciado por ZonaRLX Ver Mensaje
Disculpa mucho pero no se que es lo que estas intentando hacer, no veo que es la variable $uno

No se si este bien, pero si lo que intentas es imprimir resultados de otro archivo es con:
include("RUTA DEL ARCHIVO");

y en ese archivo agrega:

$uno="RESULTADO";

Espero que eso sea lo que preguntas
Hola

<?php
session_start();


if(isset($_SESSION["admin"])){
$_SESSION["muestreConsultas"]=$uno;
}
header("location:userConsultas.php");

?>

si a la variable $uno yo le doy un valor por ejemplo:

$uno="esta es la prueba";

entonces en la pagina principal me cargaria session "muestre consultas" y me abre el contenido de la variable $uno , por eso mi idea era igualar el contenido de la base de datos a $uno para que en la principal me la cargue.
  #5 (permalink)  
Antiguo 23/03/2013, 00:21
 
Fecha de Ingreso: junio-2010
Mensajes: 221
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: problema con session

Hola no se si este bien lo que hice a ver si alguie me puede orientar - ni para que comentar mi pauperrimo conocimiento en el php... pero ahi voy. :)

Hice esto:

a la pagina principal en la parte session _SESSION "muestreConsultas" dentro del bucle le agregue los datos para que me abra la base de datos

Código PHP:
Ver original
  1. <?php session_start();?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <link rel="stylesheet" type="text/css" href="css/envioPostVenta.css"/>
  7. <title>Envio</title>
  8. </head>
  9. <body>
  10. <div id="general">
  11. <div id="uno">
  12. <div id="claseEnvio">
  13. <?php
  14.  
  15.  
  16. if(isset($_SESSION["admin"])){
  17.     if(date("H")>=12 && date("H")<=18){
  18.     echo "Buenas tardes, ";}
  19.     else if(date("H")>=18){
  20.     echo "Buenas noches, ";
  21.     }
  22.     echo $_SESSION["admin"].".<br><br> Bienvenido, Te saluda Isolu.<br><br> ";
  23.     echo "<a href='consultarClientes.php'>consultar clientes</a><br><br>";
  24.    
  25.     }else{
  26. ?>
  27.  
  28.  
  29.  
  30.  
  31. <form action="comprobacion.php" method="post">
  32. usuario<br><input type="text" name="nombre"\><br>
  33.  
  34. password<br><input type="text" name="pass"\><br>
  35.  
  36. <input type="submit" value="iniciar session">
  37.  
  38. </form>
  39.  
  40. <?php
  41. if(isset($_SESSION["llene"])){
  42.    echo $_SESSION["llene"]."<br>";
  43.    unset  ($_SESSION["llene"]);
  44.    }else if(isset($_SESSION["error"])){
  45.    echo $_SESSION["error"]."<br>";
  46.    unset  ($_SESSION["error"]);
  47.    }
  48.    }
  49.    
  50.    
  51. if(isset($_SESSION["muestreConsultas"])){
  52.             @ $db=mysql_connect("","multassu","fxk7p30m50");
  53.  
  54. if(!$db){
  55.          echo "Error: no se puede conectar con la base de datos, intentelo mas tarde";
  56.          exit;
  57.          }
  58.  
  59. mysql_select_db("multassu_consultasOk");
  60.  
  61. $consulta=("Select nombre,telefono,comentario,fecha from deconsultas");
  62. $resultado=mysql_query($consulta);
  63. $num_resultados = mysql_num_rows($resultado);
  64. for($i=0;$i<$num_resultados;$i++){
  65.              $row = mysql_fetch_array ($resultado);
  66.              ?><span><?php echo stripslashes($row["nombre"])."<br>";
  67.              echo stripslashes($row["fecha"])."<br>";
  68.              echo stripslashes($row["comentario"])."<br>";
  69.              echo"<br>";
  70.             }
  71.  
  72.             unset  ($_SESSION["muestreConsultas"]);
  73.                 }
  74. ?>
  75.  
  76. <a href="logout.php">cerrar sesion</a>
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84. </div><!--hasta aqui codigo php-->
  85. </div><!--hasta aqui div uno-->
  86.  
  87. <div id="dos">
  88. <p>
  89. <a id="dedo" href=""> <img src="images/imagesEnvio/isolu.gif" width="37" height="50" /></a></p>
  90.  
  91.  
  92. </div><!--hasta aqui div dos-->
  93.  
  94. </div><!--hasta aqui div general-->
  95.  
  96. <div id="footer">
  97. </div><!--hasta aqui footer-->
  98. <div id="direccion" style="margin:0 auto 0 auto;
  99. width:200px;
  100. padding:10px 0 20px 0;">
  101. <img class="img" src="images/imagesEnvio/direccion-footer.gif" width="199" height="47" alt="direccion" />
  102. </div><!--hasta aqui direccion-->
  103. </body>
  104. </html>


ahora en la pagina donde

<?php
session_start();

if(isset($_SESSION["admin"])){
$_SESSION["muestreConsultas"]="1";
}
header("location:userConsultas.php");

?>

Puse $_SESSION["muestreConsultas"]="1"; pero en script pongo los datos de la base de datos y me funciona me abre los datos.

Pero no creo que deba hacerse asi, seguro que es una solucion muy chapucera como dirian por ahi. Alguein por ahi que me pueda orientar entender?
Saludos
  #6 (permalink)  
Antiguo 23/03/2013, 00:27
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problema con session

Tenendo 'admin' en $_SESSION, no veo para que necesitas otras variables, de hecho, no son necesarias.

Código PHP:
Ver original
  1. if(isset($_SESSION['admin'])) {
  2.       // Ok, puedes redirigir, mostrar consultas
  3.       // o cualquier otra actividad propia del admin
  4. } else {
  5.      // Redirigir a página de usuario "simple y mortal"
  6.      // mostrar mensaje de error
  7.      // o contenido de usuario
  8. }
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 23/03/2013, 05:48
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: problema con session

Debes entender que

1- Cuando abres una sesion tipo $_SESSION['admin'] esta se mantendrá con su valor hasta que destruya o se modifique el valor.
2- Puedes hacer uso de la SESSION todas las veces que requieras una vez creada.
3- necesitas session_start(); al inicio de cada página donde necesites emplear la session
4- Solo se destruirá una vez que halle session_destroy(); que por lo general es en la pagina de logout

Teniendo en cuenta esto, lo que te indica TRIBY es correcto... es más, ya lo hiciste en la primera página donde verificas que exista ADMIN como sesion, si existe, generas una accion, sino existe, pues le dices que llene algo...

Es la misma dinámica, en este caso... Si existe ADMIN pues muestras los datos de tu consulta de base de datos... si no existe, pues le muestras un mensaje de error... Esperemos que tengas más claro el panorama.
__________________
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...
  #8 (permalink)  
Antiguo 23/03/2013, 12:17
 
Fecha de Ingreso: junio-2010
Mensajes: 221
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: problema con session

Cita:
Iniciado por loncho_rojas Ver Mensaje
Debes entender que

1- Cuando abres una sesion tipo $_SESSION['admin'] esta se mantendrá con su valor hasta que destruya o se modifique el valor.
2- Puedes hacer uso de la SESSION todas las veces que requieras una vez creada.
3- necesitas session_start(); al inicio de cada página donde necesites emplear la session
4- Solo se destruirá una vez que halle session_destroy(); que por lo general es en la pagina de logout

Teniendo en cuenta esto, lo que te indica TRIBY es correcto... es más, ya lo hiciste en la primera página donde verificas que exista ADMIN como sesion, si existe, generas una accion, sino existe, pues le dices que llene algo...

Es la misma dinámica, en este caso... Si existe ADMIN pues muestras los datos de tu consulta de base de datos... si no existe, pues le muestras un mensaje de error... Esperemos que tengas más claro el panorama.
OK unas pruebas con sus indicaciones seguro me podran hacer visualizar entender un poco mejor el tema de las sessiones, este es un comienzo, y por eso agradezco mucho su ayuda y paciencia.

Saludos
  #9 (permalink)  
Antiguo 23/03/2013, 14:22
 
Fecha de Ingreso: junio-2010
Mensajes: 221
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: problema con session

Código PHP:
Ver original
  1. <?php session_start();
  2. $_SESSION['admin']="Jofret";
  3. ?>
  4.  
  5. <a href="dos.php">enviar a dos</a>



estoy empezando a entender este tema de las sesiones haciendo este pequeño ejemplo.



Código PHP:
Ver original
  1. <?php session_start();
  2. echo "hello ".$_SESSION['admin'];
  3.  
  4.  
  5. Aunque me parece interezante tambien que los datos puedan estar cargando en la misma pagina principal, sin tener que ir a  otra pagina, y sin tener que estar creando otras paginas.
  6.  
  7. La  forma en la que lo estuve intentando hacer no fue seguramente la más apropiada. Habrá o tendrán algún ejemplo o información de hacerlo de una forma mas depurada o correcta no se si "correcta" este bien usada pero saben a lo que me refiero. Bueno Saludos igual
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15. ?>
  #10 (permalink)  
Antiguo 25/03/2013, 04:17
Avatar de ZonaRLX  
Fecha de Ingreso: enero-2011
Mensajes: 75
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: problema con session

Bueno una de las formas mas fácil pero no apropiada si intentas meter mucha información es con GET

Ej.

index.php

<a href="index.php">Inicio</a> - <a href="index.php?menu=tienda">Tienda</a> - <a href="index.php?menu=contacto">Contacto</a>

<br /><br />

<? if(empty($_GET['menu'])){ ?>

Contenido de inicio

<? } ?>

<? if($_GET['menu']=="tienda"){ ?>

Contenido de tienda

<? } ?>

<? if($_GET['menu']=="contacto"){ ?>

Contenido de contacto

<? } ?>

Solo no hagas el archivo muy pesado y no hay ningún problema

Etiquetas: validacion
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 12:50.