tengo un contador en todas las paginas de mi web, pero quiero que este solo sume una vez al visitante no cada vez que cambie de pagina..
como puedo preparar esa condicion??
if eres_nuevo {
suma_"este punto ya lo tengo"
}
gracias a todos.
| |||
una sobre sesiones - tengo un contador en todas las paginas de mi web, pero quiero que este solo sume una vez al visitante no cada vez que cambie de pagina.. como puedo preparar esa condicion?? if eres_nuevo { suma_"este punto ya lo tengo" } gracias a todos. |
| |||
Cita: Gracias, era el codigo que estaba utilizando y al ver que era igual indague mas en el error que tengo y te cuento
Iniciado por jerkan Añade esto al principio de cada pagina. Un saludo Código PHP: Resulta que si pongo session_start(); y el resto del codigo en un include me da error, pero si saco del include session_start(); y lo añado manualmente a todas las paginas, funciona perfectamente.. Sabrias decirme que puede estar pasando? |
| |||
supongo q sera porque session_start(); tiene que ir en la primera linea. ¿ya que estoy abriendo una sesion por visita, como podria aprovechar esto y saber cuantas sesiones activas tengo? gracias |
| |||
Deberías indicar el mensaje de error textual que obtienes .. El error normalmente dice exactamente el problema (tras la "interpretación" del mismo eso sí). Cita: Directamente con PHP y funciones de sesiones no se puede. (no hay función para contar los "session_start()" que generar un SID y una sesión en consecuencia en el servidor + por ejemplo saber su tiempo de vida ..)¿ya que estoy abriendo una sesion por visita, como podria aprovechar esto y saber cuantas sesiones activas tengo? Para el caso concreto de saber tus "sesiones abiertas" tendrías que mantener tu mismo ese dato. Almacena en una BBDD (tabla) quien hace "login" en tu sistema .. y lo actualizas cuando salga del sistema tu usuario (por su "logout") .. luego vendrán problemas como "¿como saber que mi usuario se fué del sistema sin pasar por el "logout"? .. En este caso ya te convendría usar otro sistema de gestión de sesiones; no el uso "básico" de sesiones que PHP proporciona sino algo "extendido" (propuestas tienes en los comentarios de los usuarios/comentarios de www.php.net/session) Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
gracias cluster bueno lo del error es el siguiente Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at contacto.php:11) in contador_es.php on line 4 resulta que la pagina contacto.php llama a un archivo por include y luego ese otro archivo llama al contador.php que es donde tengo session_start() lo de saber cuantas sesiones activas lo voy a dejar demomento o lo creo en ASP que resulta mas facil. un saludo. |
| |||
Cita: Como te hacía el comentario .. el mensaje de erro te indica el error:Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at contacto.php:11) in contador_es.php on line 4 Te dice que en el scritp contacto.php línea 11 tienes algo de HTML .. o de salida al navegador antes de un uso de session_start() Podría ser esa "Salida" un simple espacio al final de tu "contacto.php" al final de ?> .. o un salto de línea .. Si indicas el código completo de ambos scripts se podría ver mejor que lo origina y sobre todo como ordenarlo para que no suceda esa situación. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at contacto.php:10) in contador.php on line 3 contacto <!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=iso-8859-1" /> <title></title> <link href="includes/style.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="895" border="0" align="center" cellpadding="0" cellspacing="0"> esta ultima linea es la 10 lo raro es q aun no aparece el inlude de lleva a contador.php contador.php <?php // inicializa los datos de sesion session_start(); esta ultima linea es la 3 la pagina contacto tiene mas abajo un include que llama a lateral_iz.php y dentro de lateral_iz.php tengo el include que va a contador.php si en vez de poner session_start en contador.php lo pongo en la primera linea de contacto no existe error y va perfecto... |
| |||
Cita: Es así como debe quedar .. pues es requisito indespensable de la función session_start() que esté colocada -antes- de cualquier "salida" que se origine. En tu caso ese HTML de "contacto.php" es lo que origina esa "salida".si en vez de poner session_start en contador.php lo pongo en la primera linea de contacto no existe error y va perfecto... Ahora .. lo que podrías hacer es validar (si es que ese código de "contador.php" no lo hace ya .. algo tipo: Código PHP: Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Cita: Siempre es más "limpio" controlar un evento (o error) que sabes que se puede producir que esperar que el script "reviente" dando rutas y nombres de escripts "sensibles" en el mensaje de error ..
Iniciado por suntus entendido de todas formas no hace falta proteger el acceso directo a contador ya que el solito da error por las rutas que utiliza Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |