Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo
ARTICULO: Sesiones en PHP II

 Se muestran 20 comentarios sin revisar

Diego  12/6/04 
Tengo instalado el easyPHP que es un pakete que te instala y configura todo apache+php+mysql y al probar el ejemplo de sesiones II, la variable no se incrementa.

Arturo  23/7/04 
Para toda la gente que le sigue dando el error de ...

Warning: open(/tmp\sess_a9c697dbc408bf5fa9e82fc239ac135d, O_RDWR) failed: No such file or directory (2) in C:\Archivos de programa\Apache Group\Apache2\htdocs\sesion1.php on line 3

Warning: Cannot send session cookie - headers already sent by (output started at C:\Archivos de programa\Apache Group\Apache2\htdocs\sesion1.php:3) in C:\Archivos de programa\Apache Group\Apache2\htdocs\sesion1.php on line 3

Warning: Cannot send session cache limiter - headers already sent (output started at C:\Archivos de programa\Apache Group\Apache2\htdocs\sesion1.php:3) in C:\Archivos de programa\Apache Group\Apache2\htdocs\sesion1.php on line 3

...aun poniendo al principio del todo el script <?php.

En el fichero de configuración PHP.INI, hay una parte que se refiere a las SESSION, e indica que la carpeta temporal para las mismas es /TMP, cuando los que usamos windows no tenemos esa carpeta.

Entonces creamos una carpeta (por ejemplo c:\tmp) y cambiamos la configuración...

session.save_path = /tmp
por
session.save_path = c:\tmp

un saludo y espero que sirva!

juan ruben  10/1/05 
continúo aprendiendo, también tengo instalado el easyphp.exe y el ejemplo del contador no corre, pero haciéndole unas modificaciones si, por ejemplo:
<?
session_start();
$contador = $_SESSION['contador'];
?>
<HTML>
<HEAD>
<TITLE>contador.php</TITLE>
</HEAD>
<BODY>
<?
If (isset($contador)==0)
{$contador=0;}
++$contador;
echo "<a href=\"conta.php\">Has recargado esta página $contador veces</a>";
$_SESSION['contador'] = $contador;
?>
</BODY>
</HTML>

alex  30/7/05 
aja..claro si funciona bien ,,,pero el anterior porque no funcionaba alguien puede explicar?????

Felipe  14/8/05 
Tengo una consulta sobre sesiones:
como puedo hacer para que en un mismo navegador, cada ventana distinta pertenezca a una sesion distinta.
Quiero hacer un sistema de venta, en el que exista la posibilidad de tener en una sesion una venta a medias e iniciar en otra pestaña del navegador otra sesion distinta

gustavo  08/12/05 
"Notice: Undefined index: contador in c:\wamp\www\contador.php on line 3"
me sale este mensaje, hice el script segun el comentario, pero el script anda bien, alguien que me ayude para que no salga ese

Joel  07/2/06 
El scrip no puede ser visualizado en localhost verdad?, en el ftp no tengo problemas.

Joel  07/2/06 
Despues de haber modificado el archivo ini, y creado la carpeta y insertado el nuevo scrip, el error deja de persistir, pero el contador no avanza.

 08/2/06 
Tengo la ultima actualización del xampp, los scrips lanzados contra un ftp funcionan correctamente, Ya no persiste error alguno, ni espacios en blanco, etiquetas bien puestas, php.ini modificada la ruta tmp y creada la carpeta. Pese a todo eso localhost no me avanza el contador. Es una pesadilla tener que subir en cada cambio al servidor para visualizar :P alguna solución. Gracias

Andrey  07/4/06 
Hola: tengo problemas...al parecer mi configuracion del php no acepta variables de seccion hay un error que me dice no reconocer
seccion_star(); y no me deja logear por otra parte tampoco parace que tengo bien configurado el envio y recepcion de varibles ...aveces me deja pasar las variables con los method (post, o Get) y otras veces no

PUeden decirme donde configuro esto


GRacias

Andrey  07/4/06 
Hola: tengo problemas...al parecer mi configuracion del php no acepta variables de seccion hay un error que me dice no reconocer
seccion_star(); y no me deja logear por otra parte tampoco parace que tengo bien configurado el envio y recepcion de varibles ...aveces me deja pasar las variables con los method (post, o Get) y otras veces no

PUeden decirme donde configuro esto


GRacias

Andrey  07/4/06 
Hola: tengo problemas...al parecer mi configuracion del php no acepta variables de seccion hay un error que me dice no reconocer
seccion_star(); y no me deja logear por otra parte tampoco parace que tengo bien configurado el envio y recepcion de varibles ...aveces me deja pasar las variables con los method (post, o Get) y otras veces no

PUeden decirme donde configuro esto


GRacias

Danyer  08/11/06 
Necesito que alquien me diga como puedo utilizar las variables de session... para esta probleamtica que explicare seguidamente..

Tengo tres paginas .php (todo es orientado a objeto)

Usuarios.php que se encarga de almacenar los datos de los usuario (nombre , usser , pass).

Gestion.php que me va almacenando objetos de tipo usuario (nombre , usser , pass) con una funcion adicionar que se le pasa como parametro el objeto de tipo usuario.

Tiene otra funcion llamada MostrarContenido que me recorre el arreglo y me devuelve una tabla con todos los usuarios que estan el el arreglo

Finalmente otra pagina que me permite entrar los datos del usuario.

El probelma esta en que :

include('Gestion.php');
include('Usuario.php');

$copy_usser = new Usuario($_POST['nombre'] ,$_POST['usuario'],$_POST['password']); //campos del usuario
$objeto = new Gestion(); //objeto de Gestion
$objeto->Adicionar($copy_usser);
$objeto->MostrarContenido();

cunado inicioalizo el objeto ( $objeto = new Gestion(); //objeto de Gestion)
a la vez me esta creando el arreglo de nuevo cada vez que cargo la pagina..
por eso necesito almacenar ese objeto en una varieble de session....

Aqui les mando las tres paginas.php para que rebicen y me puedan ayudar...

/*******************Usuario*****************************

<?php
class Usuario
{
private $nombre;
private $usser;
private $pass;
//----------------------------------------------------------------------------------------------------------------
public function __construct($nombre , $usser,$pass)
{
$this->nombre = $nombre;
$this->usser = $usser;
$this->pass = $pass;

}
//----------------------------------------------------------------------------------------------------------------
public function GetNombre(){return $this->nombre;}
//----------------------------------------------------------------------------------------------------------------
public function GetUsser(){return $this->usser;}
//----------------------------------------------------------------------------------------------------------------
public function GetPass(){return $this->pass;}
//----------------------------------------------------------------------------------------------------------------
public function SetNombre($change){$this->nombre = change;}
//----------------------------------------------------------------------------------------------------------------
public function SetUsser($change){$this->usser = change;}
//----------------------------------------------------------------------------------------------------------------
public function SetPass($change){$this->pass = change;}
//----------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------
} //class
?>
/************************************************


/****************Gestion********************************
<?php
class Gestion
{
private $array;
//-------------------------------------------------------------------------------------------------------------------------
/* public function __construct()
{

$array = array();

}
*/
//-------------------------------------------------------------------------------------------------------------------------
public function Adicionar($Register)
{
if(count($this->array) > 0)
{
for($i = 0 ; $i<count($this->array);$i++)
{
if($this->array[i]->GetUsser() != $Register->GetUsser())
$this->array[i] = $Register; //adiciono objetos Usuarios
}//for
} //if
else
{
$this->array[i] = $Register; //adiciono objetos Usuarios
} //else

} //fuction
//-------------------------------------------------------------------------------------------------------------------------
public function MostrarContenido()
{
$longitud = count($this->array);
if($longitud == 1)
$longitud = 'Vacia';

echo '
<table border="3" align="center">
<tr>
<td>Cantidad de Usuarios</td>
<td><input type="text"value = '.$longitud.'></td>
</tr>
</table> ';

for($i = 0 ; $i<count($this->array);$i++)
{
echo '
<table border="3" align="center">
<tr>
<td>Usuario</td>
<td><input type="text" value = '.$this->array[i]->GetUsser().'></td>
</tr>
<tr>
</table>';
} //for

}//fuction
//-------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------


}

?>

//************************************************

//***************Vista_Gestion*********************************
<html>
<body>
<title>Pagina de Prueba</title>
</body>
<form action="Vista_Gestion.php" method="POST">
<table border="3" align="center">
<tr>
<td>Nombre</td>
<td><input type="text" name="nombre"></td>
</tr>

<tr>
<td>Usuario</td>
<td><input type="text" name="usuario"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><input type="submit" value="Adicionar"></td>
</tr>
</table>
</form>
</html>


<?php

include('Gestion.php');
include('Usuario.php');

$copy_usser = new Usuario($_POST['nombre'] ,$_POST['usuario'],$_POST['password']); //campos del usuario
$objeto = new Gestion(); //objeto de Gestion
$objeto->Adicionar($copy_usser);
$objeto->MostrarContenido();

?>
//--------------------------------------------------------------






 20/4/07 
En el artículo se cita:
Nota: Si en el php.ini se ha definido la variable session.auto_start = 1 se inicializa automáticamente la sesión en cada página que visita un usuario, sin que se tenga que hacer el session_start()
Yo me pregunto...¿Es aconsejable definir la variable session auto_start =1 en el php.ini? o ¿está definida a 0 (cero) por seguridad?

sandra pabon  20/6/07 
mi pregunta es hacerce de las variables de sesion tengo la siguiente instruccion

$query_reg='SELECT * FROM cliente WHERE apodo='.$_SESSION['id'].' and clave='.$_SESSION['log'];

pero solo sirve si el usuario tiene el apodo y la clave numericos si son de tipo cadena no se puede. como podria usar la misma instrucion pero que sirva para cadenas? gracias

saul  20/8/07 
sandra, el problema no son las variables de sesion sino la estructura sql. finalizala con ."'"; porque falta en la clave... suerte

Adan  13/11/07 
buenas:
Estoy realizando un proyecto pequeño para una materia de la Univ. y al poner en practica estos consejos tenia algunos inconvenientes ahi les va;
si les sale el sgte.mensaje de error
Warning: session_start() [function.session-start]: open(/tmp\sess_2572c9920df5f7e28f7ed1144add41c8, O_RDWR) failed: No such file or directory (2) in
o algo parecido.
Yo modifique el php.ini de session.save_path = /tmp
a session.save_path = c:\temp (si no esta el folder temp crearlo)
y dejo de mostrar ese error!!.Espero les ayude

Julian Fernando Cuero Palomino  10/1/08 
El codigo estaba bien bueno, claro que tenia un errorcito que ya corregi y solo son slash, ahi va otra vez

<?
session_start();
?>
<html>
<head>
<title>Programa que sirve para declarar registros de sesiones</title>
</head>
<body>
<?
if (isset($_SESSION[contador])==0)
{
$_SESSION[contador]=0;
}
echo "<a href=\"prueba13.php\">
Prueba de contador $_SESSION[contador]
</a>";
++$_SESSION[contador];
?>
</body>
</html>

Francisco  27/4/08 
Gracias por el capitulo.

Y garcias a Carlos Gonzalez por el dato ^^.

Gastón  29/5/08 
Excelente tutorial. Muy bien explicado. Leí varios artículos sobre las sesiones pero ninguno esta tan bien explicado como este. Muchas gracias por compartirlo!!

Ver el articulo / faq completo Ver el articulo y todos sus comentarios
Añadir un comentario al artículo Añadir un comentario del artículo
  Ir arriba

Comentarios no revisados de:

+ Sesiones en PHP II


DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia