Foros del Web » Programando para Internet » PHP »

problema con sesiones

Estas en el tema de problema con sesiones en el foro de PHP en Foros del Web. hola si me pueden ayudar esta vez con las benditas sesiones me sale este error: Warning: include(session_start()) [function.include]: failed to open stream: No such file ...
  #1 (permalink)  
Antiguo 12/06/2010, 12:16
Avatar de gilber966  
Fecha de Ingreso: abril-2010
Mensajes: 117
Antigüedad: 14 años
Puntos: 4
problema con sesiones

hola si me pueden ayudar esta vez con las benditas sesiones me sale este error:

Warning: include(session_start()) [function.include]: failed to open stream: No such file or directory in C:\xampplite\htdocs\proyecto_sisbod\plantillapri.p hp on line 2

Warning: include() [function.include]: Failed opening 'session_start()' for inclusion (include_path='.;C:\xampplite\php\PEAR') in C:\xampplite\htdocs\proyecto_sisbod\plantillapri.p hp on line 2


este es el codigo donde creo las variables de session

<?php

include("conexion.php");
$usuario=$_POST["usu"];
$clave=$_POST["pas"];
$rst_usuarios=mysql_query("SELECT * FROM usuarios WHERE cedula='". $_POST["usu"]."' and clave='". $_POST["pas"]."';",$conexion);
$num_registros=mysql_num_rows($rst_usuarios);
if ($num_registros>0){
//dar nombre a session

//iniciar session
session_start();
// session_register($usuario,$clave);
$_SESSION["autentificado"]= "SI";
//ultimo acceso
$_SESSION["inicio"]= date("Y-n-j H:i:s");

header("location:plantillapri.php");
}
else{
echo "El Usuario o La Clave No Son Validos";
mysql_close($conexion);
}
?>


y este es el que hace la solicitud de la sesion:

<?php
include ("session_start()");
if ($_SESSION["autentificado"]= "SI"){

}
else{
header("location:index.html");
}


?>


<html>
<head>
<title>PLANTILLA DE TRABAJO HYSCOVE</title>
</head>
<frameset COLS="10%,*" frameborder="0" framespacing="0" border="0">
<frame name="" src="menu.html" marginwidth="10" marginheight="10" scrolling="auto" >
<frame name="" src="" marginwidth="10" marginheight="10" scrolling="auto" >
</frameset>
</html>



gracias por la ayuda que me puedan solicitar he leido algo del php ini pero es creo esa parte la del problema y la que no entiendo.
  #2 (permalink)  
Antiguo 12/06/2010, 18:08
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 15 años, 1 mes
Puntos: 9
Respuesta: problema con sesiones

Código PHP:
Ver original
  1. include ("session_start()");
no hay que utilizar include para llamar a session_start().
  #3 (permalink)  
Antiguo 12/06/2010, 18:31
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: problema con sesiones

Cuida la forma en que pasas las variables pass y user ya que se lo estas enviando por la URL y es un importante fallo de seguridad

Código PHP:
$usuario=$_POST["usu"];
$clave=$_POST["pas"]; 
  #4 (permalink)  
Antiguo 14/06/2010, 11:45
Avatar de gilber966  
Fecha de Ingreso: abril-2010
Mensajes: 117
Antigüedad: 14 años
Puntos: 4
Respuesta: problema con sesiones

Cita:
Iniciado por erxaca Ver Mensaje
Cuida la forma en que pasas las variables pass y user ya que se lo estas enviando por la URL y es un importante fallo de seguridad

Código PHP:
$usuario=$_POST["usu"];
$clave=$_POST["pas"]; 

nop nada use la prueba de copiar el link y no funciona me deja entrar, en cuanto a lo del get tengo pues no se estoy usando post no?
  #5 (permalink)  
Antiguo 14/06/2010, 11:48
Avatar de gilber966  
Fecha de Ingreso: abril-2010
Mensajes: 117
Antigüedad: 14 años
Puntos: 4
Respuesta: problema con sesiones

Cita:
Iniciado por fernandozunni Ver Mensaje
Código PHP:
Ver original
  1. include ("session_start()");
no hay que utilizar include para llamar a session_start().
hola gracias use session_start(); pero ahora no se como cerrar la sesion me dice lo siguiente


Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in C:\xampplite\htdocs\PROYECTO HYSCOV2 GILBERTO\salir.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at C:\xampplite\htdocs\PROYECTO HYSCOV2 GILBERTO\salir.php:4) in C:\xampplite\htdocs\PROYECTO HYSCOV2 GILBERTO\salir.php on line 5



el codigo que me saca de la sesion es este:

<?php
//salir dela sesión

session_destroy();
header('location:index.html');
?>


pero igual pongo el link de la pagina que solicita el session_start() y me deja entrar o sea no esta validando la sesion

  #6 (permalink)  
Antiguo 14/06/2010, 12:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con sesiones

bueno, el error solo dice la verdad: no se puede destruir una sesión que no se ha iniciado...

y bueno, antes de usar session_destroy() debes usar -en el mismo script- session_start() previamente...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 14/06/2010, 12:21
Avatar de gilber966  
Fecha de Ingreso: abril-2010
Mensajes: 117
Antigüedad: 14 años
Puntos: 4
Respuesta: problema con sesiones

Cita:
Iniciado por gilber966 Ver Mensaje
hola gracias use session_start(); pero ahora no se como cerrar la sesion me dice lo siguiente


Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in C:\xampplite\htdocs\PROYECTO HYSCOV2 GILBERTO\salir.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at C:\xampplite\htdocs\PROYECTO HYSCOV2 GILBERTO\salir.php:4) in C:\xampplite\htdocs\PROYECTO HYSCOV2 GILBERTO\salir.php on line 5



el codigo que me saca de la sesion es este:

<?php
//salir dela sesión

session_destroy();
header('location:index.html');
?>


pero igual pongo el link de la pagina que solicita el session_start() y me deja entrar o sea no esta validando la sesion

no me funciona
  #8 (permalink)  
Antiguo 14/06/2010, 12:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: problema con sesiones

Ya pateketrueke te indicó qué debes hacer.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 14/06/2010, 13:00
Avatar de gilber966  
Fecha de Ingreso: abril-2010
Mensajes: 117
Antigüedad: 14 años
Puntos: 4
Respuesta: problema con sesiones

Cita:
Iniciado por abimaelrc Ver Mensaje
Ya pateketrueke te indicó qué debes hacer.
me funciona la validacion por tiempo pero no me imprime es id de la sesion

a ver este inicia la sesion verificar.php:

<?php
include("conexion.php");
$usuario=$_POST["usu"];
$clave=$_POST["pas"];
$rst_usuarios=mysql_query("SELECT * FROM usuarios WHERE cedula='". $_POST["usu"]."' and clave='". $_POST["pas"]."';",$conexion);
$num_registros=mysql_num_rows($rst_usuarios);
if ($num_registros>0){
//dar nombre a session

//iniciar session
session_start();
// session_register($usuario,$clave);
$_SESSION["autentificado"]= "SI";
//ultimo acceso
$_SESSION["inicio"]= date("Y-n-j H:i:s");
$_SESSION["usuario"]= $_POST["usu"];;
header("location:menu.php");
}
else{
echo "El Usuario o La Clave No Son Validos";
mysql_close($conexion);
}


?>


luego me envia a este que si funciona, menu.php:

<?php
//iniciamos la sesión

session_start();

//antes de hacer los cálculos, compruebo que el usuario está logueado
//utilizamos el mismo script que antes
if ($_SESSION["autentificado"] != "SI") {
//si no está logueado lo envío a la página de autentificación
header("Location: index.html");
} else {
//sino, calculamos el tiempo transcurrido
$fechaGuardada = $_SESSION["inicio"];
$ahora = date("Y-n-j H:i:s");
$tiempoTotal = (strtotime($ahora)-strtotime($fechaGuardada));

//comparamos el tiempo transcurrido
if($tiempoTotal >= 10) {
//si pasaron 10 minutos o más
session_destroy(); // destruyo la sesión
header("Location: index.html"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$fechaGuardada = $ahora;
}
}
echo "$ahora <br>";
echo "$tiempoTotal";
echo $_PHPSESSID;

?>


<html>


pero a ese no me debe enviar, me debe anviar a esta: pero me da error: (esta pag. contiene framesets no se si tendra que ver)


plantillapri.php
<?php
session_start();
if ($_SESSION["autentificado"] != "SI") {
//si no está logueado lo envío a la página de autentificación
header("Location: index.html");
} else {
//sino, calculamos el tiempo transcurrido
$fechaGuardada = $_SESSION["inicio"];
$ahora = date("Y-n-j H:i:s");
$tiempoTotal = (strtotime($ahora)-strtotime($fechaGuardada));

//comparamos el tiempo transcurrido
if($tiempoTotal >= 10) {
//si pasaron 10 minutos o más
session_destroy(); // destruyo la sesión
header("Location: index.html"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$fechaGuardada = $ahora;
}
}
echo $_PHPSESSID;
?>


el error que me da en este y que no me da en menu.php es:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampplite\htdocs\PROYECTO SisBod Gilber\plantillapri.php:1) in C:\xampplite\htdocs\PROYECTO SisBod Gilber\plantillapri.php on line 2

Última edición por gilber966; 14/06/2010 a las 13:25
  #10 (permalink)  
Antiguo 22/06/2010, 11:04
Avatar de gilber966  
Fecha de Ingreso: abril-2010
Mensajes: 117
Antigüedad: 14 años
Puntos: 4
De acuerdo Respuesta: problema con sesiones

Cita:
Iniciado por gilber966 Ver Mensaje
me funciona la validacion por tiempo pero no me imprime es id de la sesion

a ver este inicia la sesion verificar.php:

<?php
include("conexion.php");
$usuario=$_POST["usu"];
$clave=$_POST["pas"];
$rst_usuarios=mysql_query("SELECT * FROM usuarios WHERE cedula='". $_POST["usu"]."' and clave='". $_POST["pas"]."';",$conexion);
$num_registros=mysql_num_rows($rst_usuarios);
if ($num_registros>0){
//dar nombre a session

//iniciar session
session_start();
// session_register($usuario,$clave);
$_SESSION["autentificado"]= "SI";
//ultimo acceso
$_SESSION["inicio"]= date("Y-n-j H:i:s");
$_SESSION["usuario"]= $_POST["usu"];;
header("location:menu.php");
}
else{
echo "El Usuario o La Clave No Son Validos";
mysql_close($conexion);
}


?>


luego me envia a este que si funciona, menu.php:

<?php
//iniciamos la sesión

session_start();

//antes de hacer los cálculos, compruebo que el usuario está logueado
//utilizamos el mismo script que antes
if ($_SESSION["autentificado"] != "SI") {
//si no está logueado lo envío a la página de autentificación
header("Location: index.html");
} else {
//sino, calculamos el tiempo transcurrido
$fechaGuardada = $_SESSION["inicio"];
$ahora = date("Y-n-j H:i:s");
$tiempoTotal = (strtotime($ahora)-strtotime($fechaGuardada));

//comparamos el tiempo transcurrido
if($tiempoTotal >= 10) {
//si pasaron 10 minutos o más
session_destroy(); // destruyo la sesión
header("Location: index.html"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$fechaGuardada = $ahora;
}
}
echo "$ahora <br>";
echo "$tiempoTotal";
echo $_PHPSESSID;

?>


<html>


pero a ese no me debe enviar, me debe anviar a esta: pero me da error: (esta pag. contiene framesets no se si tendra que ver)


plantillapri.php
<?php
session_start();
if ($_SESSION["autentificado"] != "SI") {
//si no está logueado lo envío a la página de autentificación
header("Location: index.html");
} else {
//sino, calculamos el tiempo transcurrido
$fechaGuardada = $_SESSION["inicio"];
$ahora = date("Y-n-j H:i:s");
$tiempoTotal = (strtotime($ahora)-strtotime($fechaGuardada));

//comparamos el tiempo transcurrido
if($tiempoTotal >= 10) {
//si pasaron 10 minutos o más
session_destroy(); // destruyo la sesión
header("Location: index.html"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$fechaGuardada = $ahora;
}
}
echo $_PHPSESSID;
?>


el error que me da en este y que no me da en menu.php es:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampplite\htdocs\PROYECTO SisBod Gilber\plantillapri.php:1) in C:\xampplite\htdocs\PROYECTO SisBod Gilber\plantillapri.php on line 2
ok ya lo corregi gracias

Etiquetas: sesiones
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 20:52.