Foros del Web » Programando para Internet » PHP »

La forma correcta para usar $_SESSION

Estas en el tema de La forma correcta para usar $_SESSION en el foro de PHP en Foros del Web. Hola amigos, tengo una pregunta sobre esto. Como puedo mostrar el sitio web para los que esten logeados en el sitio web sin necesidad de ...
  #1 (permalink)  
Antiguo 27/07/2009, 10:25
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
La forma correcta para usar $_SESSION

Hola amigos, tengo una pregunta sobre esto.

Como puedo mostrar el sitio web para los que esten logeados en el sitio web sin necesidad de poner el contenido html dentro de un echo:

Ejemplo:
index.php
Código PHP:
<?php
session_start
();
mysql_select_db('login_users');
if (isset(
$_SESSION['s_username']))
   {
// Mostrar sitio web
    
echo "Mi sitio WEB"// no quiero esto
   
}
// Si no hay usuarios conectados mostrar formulario de coneccion
    
else {
        
// Mostrar cuadro del login
echo "<form ...>";
          }              
?>

pagina1.php
Código PHP:
<?php
session_start
();
if (isset(
$_SESSION['s_username'])) {
echo 
"Hola ".$_SESSION['s_username']."Bienvenido a la pagina1"// No quiero esto
} else {
echo 
"usted no tiene acceso";
}
?>

Lo que pasa es que ya tengo mi sitio web terminado, y ahora quiero agregarle un login al sitio y me resulta un incombeniente meter el contenido del html de las pagians web dentro de un echo ""

Ya que ustedes sabran que al introducir valores dentro de echo "" hay que remplazar las comillas por ' o por \" y bueno, me resulta un incombeniente que tenga que hacer esto.


De que otra manera puedo usar las $_SESSION y mostrar mi sitio web a los usuarios logeados sin tener que modificar las comilla de mi HTML.

Muchas gracias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #2 (permalink)  
Antiguo 27/07/2009, 10:28
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: La forma correcta para usar $_SESSION

Hola , es asi:

Código php:
Ver original
  1. <?php
  2. mysql_select_db('login_users');
  3. if (isset($_SESSION['s_username']))
  4.    {
  5. // Mostrar sitio web
  6. ?>
  7.     TODO EL HTML ACA
  8.  
  9. <?php
  10.    }
  11. // Si no hay usuarios conectados mostrar formulario de coneccion
  12.     else {
  13.         // Mostrar cuadro del login
  14. echo "<form ...>";
  15.           }              
  16. ?>

Recorda que en php podes si cerras en php meter html y luego volver a abrir con los tags adecuados y proseguir con tu codigo php como si nada hubiese pasado , es decir podes cortar un if al medio por ejemplo o cosas asi.
  #3 (permalink)  
Antiguo 27/07/2009, 10:29
 
Fecha de Ingreso: marzo-2006
Mensajes: 44
Antigüedad: 18 años, 1 mes
Puntos: 4
Respuesta: La forma correcta para usar $_SESSION

Puedes poner el
Código php:
Ver original
  1. if (isset($_SESSION['s_username'])) {
y a continuación cerrar php y abrir php de nuevo al final de la página para poner la
Código php:
Ver original
  1. }
que falta.
  #4 (permalink)  
Antiguo 27/07/2009, 10:30
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: La forma correcta para usar $_SESSION

Código php:
Ver original
  1. if (!isset($_SESSION['s_username'])) {
  2. header('LOCATION: pagina_login'); //redirecionas a una pagina para iniciar session o lo que quieras
  3. exit; //paras la ejecucion del script...
  4. }
  5. // aqui la resta del codigo html normal...
  #5 (permalink)  
Antiguo 27/07/2009, 10:33
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: La forma correcta para usar $_SESSION

Perfecto jonatanc

jajaj no sabia que las osas fueran tan sencillas, muchas gracias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
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 06:36.