Foros del Web » Programando para Internet » PHP »

Problema con include y $variable ...

Estas en el tema de Problema con include y $variable ... en el foro de PHP en Foros del Web. Hola gente !!! Estoy tratando de tomar el valor actual de la pagina, para que cuando se cierre la session sola, y quiero ingresar me ...
  #1 (permalink)  
Antiguo 28/05/2009, 13:15
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Pregunta Problema con include y $variable ...

Hola gente !!!
Estoy tratando de tomar el valor actual de la pagina, para que cuando se cierre la session sola, y quiero ingresar me pide el login... entonces para que no me redireccione como lo tenia decidi hacer esto con algunas cosas que vi en el foro.

Código php:
Ver original
  1. $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  2. $archivo = basename($url);
  3. echo $archivo;
  4. include("$archivo");

pero al momento del hacer el include con la variable $archivo, me da error, y no se como ponerlo !!!

Alguna idea ?

Saludos, Ricardo ...
__________________
Mail: [email protected]
  #2 (permalink)  
Antiguo 28/05/2009, 13:20
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Problema con include y $variable ...

hola amigo

prueba con esto:

$url=$_SERVER['REQUEST_URI'];
  #3 (permalink)  
Antiguo 28/05/2009, 13:22
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con include y $variable ...

Por lo que veo... estas dentro de una pagina y haces un include de la mismo pagina... lo que mes estraña es que no se te quede en un bucle... eso lo tienes que mirar de otra forma...
  #4 (permalink)  
Antiguo 28/05/2009, 13:23
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Problema con include y $variable ...

Cita:
Iniciado por machoman112233 Ver Mensaje
Por lo que veo... estas dentro de una pagina y haces un include de la mismo pagina... lo que mes estraña es que no se te quede en un bucle... eso lo tienes que mirar de otra forma...
Si queda en un bucle ... :(


hey fatasma !!!! com va eso ? :)

Esoque me dijiste anda bien, = que el que estoy usando... el tema es como uso el include con la variable $url ...



Lo que quiero es que , por ejemplo cuando me pida de iniciar sesion, pongo user y clave y quede en la misma pagina ... no que me mande a inicio como la tenia

Asi la tenia ...

Código php:
Ver original
  1. <?
  2. if(!isset($_SESSION))
  3. {
  4. header("location:login.php");
  5. }
  6. else
  7. {
  8. include('inicio.php');
  9. }
  10. ?>
Saludos
__________________
Mail: [email protected]
  #5 (permalink)  
Antiguo 28/05/2009, 13:29
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Problema con include y $variable ...

hombre, pues eso lo he hecho yo pero de otro modo

en el <form action="<?php echo $_SERVER['REQUEST_URI'];?>" method="POST">

asi mas o menos (arreglando un poco segun en la carpeta que tengas tus paginas...)


(muy bien y tu ?? :p )
  #6 (permalink)  
Antiguo 28/05/2009, 13:38
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Problema con include y $variable ...

Me parece que tamos en cosas distintas.
Esto es un sistemita de usuarios, lo que quiero tratar de hacer es que por ejemplo quiero entrar desde una pagina cualquiera supongamos http://localhost/gestion/listado1.php, esa pagina me carga el login porque no hay sesion iniciada, y despues pasa por user, que es el codigo que puse arriba, ahi en user si se da me manda a inicio.php, y quiero que se cargue la pagina que cargue al principio !!!

Saludos
__________________
Mail: [email protected]
  #7 (permalink)  
Antiguo 28/05/2009, 13:44
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Problema con include y $variable ...

Bue les cuento que lo pude solucionar probando y probando llegue a esto:

Código php:
Ver original
  1. <?
  2. if(!isset($_SESSION))
  3. {
  4. header("location:login.php");
  5. }
  6. else
  7. {
  8. $url=$_SERVER['HTTP_REFERER'];
  9. $a = basename($url);
  10. include $a;
  11. }
  12. ?>

Asi de esa manera me carga la pagina que cargue, me pide la session, me logeo, y me manda a la misma pagina que queria !!!!!

Saludos, y gracias por ayudarme !!!!
__________________
Mail: [email protected]
  #8 (permalink)  
Antiguo 29/05/2009, 05:12
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Problema con include y $variable ...

Hola de nuevo !!!

Ahora que lo probe bien, tengo este problema ...
Si abro una pagina cualquiera como por ejemplo http://localhost/gestion/listado1.php, y me pide login se carga bien, el tema es cuando quiero abrir por ejemplo desde el login.php, queda en un bucle infinito.

Alguna idea ?
__________________
Mail: [email protected]
  #9 (permalink)  
Antiguo 29/05/2009, 08:36
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Problema con include y $variable ...

haz un if, y haz una excepcion para la pagina login.php

Código PHP:
<?php
session_start
();
if(!isset(
$_SESSION))
{
     
header("location:login.php");

else 
{
     
$url=$_SERVER['HTTP_REFERER'];
     
$a basename($url);
     if(
$a!=$_SERVER['REQUEST_URI'])//o en vez de poner $_SERVER['REQUEST_URI'] pones "login.php"
          
include $a;
}
?>
suerte
  #10 (permalink)  
Antiguo 29/05/2009, 09:50
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Problema con include y $variable ...

Hola fata !!!!!

Ahi en un 99% esta andando. Probe algunas opciones, si entro desde login.php y me logueo bien, me manda a inicio.php, que es donde esta el menu principal

Si se me ocurre entrar por el historial del explorador, por ejemplo a un alta o listado, y me logueo bien, entra en la pagina la cual cargue.

Pero si me meto a user.php, me salta un warning!!!
Este :
Código code:
Ver original
  1. Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/gestion/user.php on line 20


Lo que tendria que hacer seria filtrar si es user.php .

El codigo quedo asi:

Código php:
Ver original
  1. <?php
  2. if(!isset($_SESSION))
  3. {
  4. header("location:login.php");
  5. }
  6. else
  7. {
  8. $url=$_SERVER['HTTP_REFERER'];
  9. $a = basename($url);
  10.  
  11.  
  12.  
  13.     if($a=='login.php')
  14.     {
  15.     include('inicio.php');
  16.     }
  17.     else
  18.     {
  19.     include ($a); // Esta es la linea 20 donde tira el Warning
  20.     }
  21.  
  22. }
  23. ?>

Seguimos en contacto !!! y sigo probando !!!

Gracias !!!
__________________
Mail: [email protected]
  #11 (permalink)  
Antiguo 29/05/2009, 10:04
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Problema con include y $variable ...

pon un echo $a para ver que es lo que intenta incluir..
y metete en la pagina user.php
luego entenderemos el error :p

suerte
  #12 (permalink)  
Antiguo 29/05/2009, 12:26
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Problema con include y $variable ...

Hola fata !!!

Bue te cuento que me puse a revisar paso a paso el sistemia entero de login, tampoco era tanto jejeje !!!
Entonces borre ese user.php que me trajo problemas, y lo simplifique asi:

Solo tengo 2 archivos:
login.php y comprueba.php

login.php
Código php:
Ver original
  1. <?
  2. if(isset($SESSION)){
  3.  
  4. $url=$_SERVER['HTTP_REFERER'];
  5. $a = basename($url);
  6.  
  7. header("location:$a"); /* Antes iba a user.php */
  8. }
  9. else
  10. {
  11. ?>
  12. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
  13. <head>
  14. <title>SISTEMA DE LOGIN</title>
  15. <link rel="stylesheet" type="text/css" media="all" href="css/full.css" />
  16. <script type="text/javascript" src="tabular.js"></script>
  17. </head>
  18. <body onLoad="document.getElementById('veni').focus();">
  19. <br><br><br>
  20. <form id="form" name="form" action="comprueba.php" method="post">
  21.  
  22. <fieldset>
  23. <legend>INICIO DE SESION</legend>
  24.  
  25. Login:<input type="text" name="login" size="25" id="veni" onkeypress="return tabular(event,this)"/>
  26. <br>
  27. Password:<input type="password" name="pass" size="8" onkeypress="return tabular(event,this)"/>
  28. <br>
  29.  
  30. <input type="submit" name="ok" value="Entrar"/>
  31. <input type="button" value="Salir" onclick = "self.location.href ='logout.php'"/></td>
  32. </fieldset>
  33. </form>
  34. </body>
  35. <?php
  36. }
  37. ?>

comprueba.php
Código php:
Ver original
  1. <?php
  2. include('conexion.php');
  3.  
  4. $url=$_SERVER['HTTP_REFERER'];
  5. $a = basename($url);
  6.  
  7. $login = $_POST['login'];
  8. $pass = $_POST['pass'];
  9.  
  10. $result=mysql_query("select * from usuarios where login='$login'",$conexion);
  11.  
  12. if(mysql_num_rows($result)==0){
  13. //echo "No existe el login introducido"; echo "<br>";
  14. header("location:login.php");
  15. }
  16. else
  17.     {
  18.     $array=mysql_fetch_array($result);
  19.    
  20.     //if($array['password']==crypt($pass,"semilla"))
  21.     if($array['password']==$pass)
  22.         {
  23.         $_SESSION['login']=$login;
  24.         $_SESSION['loggeado']=true;
  25.  
  26.             if($a=='login.php')
  27.             {header("location:inicio.php"); }
  28.             else{header("location:$a");}
  29.  
  30.         }
  31.         else
  32.             {
  33.             session_destroy();
  34.             //header("location:login.php");
  35.             echo "Password incorrecto!"; echo "<br>";
  36.             echo '<a href="http://localhost/login.php">Volver </a>';
  37.             }
  38.     }
  39. ?>

Y despues en cada pagina le pongo por ejemplo inicio.php

Código php:
Ver original
  1. <?php
  2. echo '<center><b>Bienvenido, al Sistema </b></center>';
  3. if (isset($_SESSION['login'])) {
  4. echo '<b>Usuario: </b>';
  5. echo '<b>'.$_SESSION['login'].'</b>.';
  6. echo '<p><a href="logout.php">Logout</a></p>';
  7. ?>
  8. <html>
  9. <input type="button" name="ok" value="ok" >
  10. </html>
  11. <?php
  12. }else{
  13.  
  14.           include("login.php");
  15.       }
  16.  
  17. ?>


Bueno , espero les sirva, aparte esta bien simple !!!!!!!

Saludos, Ricardo !!!
__________________
Mail: [email protected]

Última edición por colote; 01/06/2009 a las 04:59 Razón: x
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 04:36.