Sesiones en PHP

Julio
19 de Agosto del 2003
KE onda? miren, tengo problemas kon las sesiones en php...al ejecutar el siguiente codigo bajado de webestilo.com :


<?
session_name('misesion');
session_register('contador');
echo '<a href="'.$PHP_SELF.'?'.SID.'">Contador vale: '.++$contador.'</a><br>';
echo 'Ahora el nombre es '.session_name().' y la sesión '.$misesion.'<br>';
?>


me marca los siguientes errores :


Warning: open(/tmpsess_a9c697dbc408bf5fa9e82fc239ac135d, O_RDWR) failed: No such file or directory (2) in C:Archivos de programaApache GroupApache2htdocssesion1.php on line 3

Warning: Cannot send session cookie - headers already sent by (output started at C:Archivos de programaApache GroupApache2htdocssesion1.php:3) in C:Archivos de programaApache GroupApache2htdocssesion1.php on line 3

Warning: Cannot send session cache limiter - headers already sent (output started at C:Archivos de programaApache GroupApache2htdocssesion1.php:3) in C:Archivos de programaApache GroupApache2htdocssesion1.php on line 3
Contador vale: 1
Ahora el nombre es misesion y la sesión

Warning: open(/tmpsess_a9c697dbc408bf5fa9e82fc239ac135d, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

el directorio /tmp ya lo puse en medio windows, para ver si funcionaba pero no, no se que es por favor ayudenme...gracias :'(

liandrolisk
19 de Agosto del 2003
de seguro es por la configuracion de PHP respecto a las sesiones... a mi tambien me marco el mismo error..

en la carpeta de php tienes un archivo php.ini donde esta la configuracion de sesiones y demas...
ah pues hay una seccion llamada [Sesion]
donde encontrarás la instruccion siguiente:

session.save_path = /tmp

.. en esta linea deberas poner el path de la carpeta donde quieres que se almacenen tus sesiones, debes poner ojo si la carpeta existe (que en mi caso no existía) pues en dado caso que no exista debes crear una carpeta X y asignarsela a esa instruccion de sesion.
por ejemplo
c:> md tmp
creaste una carpeta tmp en el directorio raiz...
la instruccion iría así:
[Session]
...
session.save_path = c:/tmp


...espero que haya sido eso.
yo asi lo solucione..

phplam
19 de Agosto del 2003
¡¡¡Tienes razón, a mí tampoco me iba y al crear una carpeta c:tmp me ha funcionado. !!!

A continuación paso el script que me ha ido de maravilla .
Nota para php 4 : hay que poner $_SESSION["contador"] en lugar de $contador para que se entere. Esto es a que en esta versión se desactivan automáticamente las register_globals desde el fichero php.ini

<?
session_start();
session_register('contador');
?>
<HTML>
<HEAD>
<TITLE>contador.php</TITLE>
</HEAD>
<BODY>
<?
If (isset( $_SESSION["contador"])==0)
{$_SESSION["contador"]=0;}
++$_SESSION["contador"];
echo "<a href="contador.php">Has recargado esta página " . $_SESSION["contador"] . " veces y el session id es : ".Session_id() ."</a>" ;
?>
</BODY>
</HTML>

gerardo
19 de Agosto del 2003
mira todo esta bien solo create un carpeta en donde esta tu pagina por ejemplo tmp

luego antes de
session_name('misesion');
session_register('contador');

debe rutear esto

session__save_path('tmp');
debe quedar asi entonces


session__save_path('tmp');
session_name('misesion');
session_register('contador');


y listo...
pruebalo

noname
19 de Agosto del 2003
me ha sido de mucha utilidad he modificado la directiva session.save_path en el php.ini y luego he creado una carpeta en la ruta especificada en esta directiva y todo funciona a la perfeccion.

Un saludibiris.