Foros del Web » Programando para Internet » PHP »

Ayuda con session_start

Estas en el tema de Ayuda con session_start en el foro de PHP en Foros del Web. Primero que nada queria agradecerles y decirles que hace rato que doy vueltas por el foro y que son de gran ayuda para los problemas ...
  #1 (permalink)  
Antiguo 18/05/2010, 08:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 14 años
Puntos: 2
Ayuda con session_start

Primero que nada queria agradecerles y decirles que hace rato que doy vueltas por el foro y que son de gran ayuda para los problemas que se me presentan siempre en php, asique por eso me decidi registrar.

Ahora les presento el problema que tengo.




Header.php
Código PHP:

<?
require_once("Funciones/identificacion_fns.php");
session_start();
?>

<html>
<head>
    <title> Header </title>
    <link rel="stylesheet" type="text/css" href="../../../../estilos.css" media="screen" />
</head>
<body>

<table width="960" height="186" border=0 align="center" cellspacing="0" cellpadding="0">
    <tr>
        <td rowspan=3 width="200" background="../../../../img/Head/logo.png"> &nbsp </td>
        <td colspan=3 height="33" background="../../../../img/Head/publi3.gif">&nbsp;  </td>
    </tr>
    
    <tr>
        <td width="16" background="../../../../img/Head/publi1.gif">&nbsp; </td>
        <td width="728" height="90">

<script type="text/javascript"><!--
google_ad_client = "pub-8579466242853926";
/* 728x90 hhrev */
google_ad_slot = "2096433936";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

    </td>
        <td width="16" background="../../../../img/Head/publi2.gif">&nbsp; </td>
    </tr>

    <tr>
        <td colspan=3 height="33" background="../../../../img/Head/publi4.gif">&nbsp;  </td>
    </tr>

    <tr>

<? check_valid_user(); ?>
    
    </td>
    
</table> 

</body>
</html>
identificacion_fns.php


Código PHP:
<?
function check_valid_user()
// see if somebody is logged in and notify them if not
{
  global 
$valid_user;
  if (
session_is_registered("valid_user"))
  {      
?>
     

  <td colspan=4 height="30"> 
         <table width="960" height="30" background="../../../../img/Head/login.gif" cellspacing="0" cellpadding="0">

    <tr>
        <td width="16">&nbsp;  </td>
        <td width="848"><img src="../../../../Img/Head/on.gif"> Bienvenid@ <strong><? echo "$valid_user" ?></strong> Cuenta | Ficha | Trabajos | Mensajes | Cerrar sesión</td>
    </tr>

</table>
<?
  
}
  else
  {
?>
  <form action="../../../../login.php" method=post>
<td colspan=4 height="30">     
<table width="960" height="30" background="../../../../img/Head/login.gif" cellspacing="0" cellpadding="0">

        <tr>
            <td width="16">&nbsp;  </td>
            <td width="52"> Usuario: </td>
            <td width="103"> <input type="text" name="usuario" size="12"> </td>
            <td width="64"> Password: </td>
            <td width="103"> <input type="password" name="password" size="12"> </td>
            <td width="76"> <input type="submit" value="Ingresar"> </td> 
            <td width="15">&nbsp;  </td>
            <td> ¿A&uacute;n sin usuario?<a href="../../../../Register" target="_self"><FONT COLOR="0b1952"><strong>  <U>Registrate</U></strong></font></a></td>
        </tr>
</table> 
</form>

    <?
  
}
}
?>


La solucion que encontre fue meterle un "@" a session_start para que no aparesca el error ya que la funcion a pesar de ese error funciona correctamente... pero espero que ustedes tengan una solucion mejor..

muchas gracias de ya.
  #2 (permalink)  
Antiguo 18/05/2010, 08:25
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Respuesta: Ayuda con session_start

Hola Fabih24, cómo vamos?

Varias cosas:

1. No es buena práctica colocar "@" para no mostrar errores, sólo lo ocultas pero no lo solucionas realmente.

2. Normalmente cuando ese error se muestra es por que hay algún caracter extraño por ahí volando, o hay espacios en blanco en tu página. Trata de eliminar los espacios sobrantes o caracteres raros que hayan al iniciar session_start(). También, intenta que la primera línea de tu código sea session_start().

3. A manera de consejo, no uses <?, usa la instrucción completa <?php. Te ahorrará dolores de cabeza .

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 18/05/2010, 08:27
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Ayuda con session_start

solucion: no envies nada al navegador antes de llamar a session_start()

Este error se ha tratado infinidad de veces en el foro, si buscas un poco no sera dificil encontrar algunos temas donde se explica mas a detalle
  #4 (permalink)  
Antiguo 18/05/2010, 09:37
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 14 años
Puntos: 2
Respuesta: Ayuda con session_start

gracias por las respuestas creo que me apure al postear..
ya pude solucionar el problema..

saludos

Edit: ya que abri este tema... queria saber si puedo alargar el tiempo de una session sin tener acceso al servidor? podria usar las cookies para hacerlo pero recuerdo que a muchos no le gustan las cookies, que tienen de malo?

Última edición por Fabih24; 18/05/2010 a las 09:44

Etiquetas: Ninguno
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 22:38.