Foros del Web » Programando para Internet » PHP »

nada de sesiones

Estas en el tema de nada de sesiones en el foro de PHP en Foros del Web. este es el index.php Código PHP: <?php session_name ( "misesion" ); session_start (); /* Esta es una forma fácil de asegurarse que no arrastramos datos   * de alguna sesión anterior: en la página inicial, se abre una   * sesión e inmediatamente se destruye.  */ //session_start(); //session_destroy(); $titulo = 'Identificaci&oacute;n' ; require( 'cabecera.inc' ...
  #1 (permalink)  
Antiguo 10/10/2004, 16:31
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 14 años, 2 meses
Puntos: 0
nada de sesiones

este es el index.php
Código PHP:
<?php
session_name
("misesion");
session_start();

/* Esta es una forma fácil de asegurarse que no arrastramos datos 
 * de alguna sesión anterior: en la página inicial, se abre una 
 * sesión e inmediatamente se destruye.
 */
//session_start();
//session_destroy();

$titulo='Identificaci&oacute;n';
require(
'cabecera.inc');
?>

<form method="POST" action="login.php">

<center>
<table>
<tr>
    <td>Usuario:</td>
    <td><input type="text" name="usuario" value="" size="8"></td>
</tr>
<tr>
    <td>Clave:</td>
    <td><input type="password" name="clave" value="" size="8"></td>
</tr>
</table>
<input type="submit" value="Entrar"></td>
</center>

</form>


<?php require('pie.inc'); ?>
este el login.php
Código PHP:
<?php
session_name
("misesion");
session_start();
$_SESSION['usuario_id']=$_POST['usuario'];
$_SESSION['usuario_clave']=$_POST['clave'];
// Array bidimensional con las parejas usuario/clave
$identificacion = array(
    array(
'edward''capuleto' ),
    array(
'nestor''tilla' ),
    array(
'armando''bronca')
);

// Recorremos cada pareja del array
foreach ($identificacion as $datos) {
    
// Extraemos los dos campos
    
$id_usuario $datos[0];
    
$id_clave $datos[1];

    if (
$_SESSION['usuario_id'] == $id_usuario) {
        if (
$_SESSION['usuario_clave'] == $id_clave) {
            
// Si coincide el usuario y la clave
            // Almacenamos la fecha en la cookie
            //$nombre_cookie = 'CURSOPHP_ultima_visita';
            //$ultima_visita = $$nombre_cookie;
            //setcookie($nombre_cookie, date('d/m/Y H:i:s'), time()+13140000 );

            
            // Redireccionamos a la siguiente página
            
header('Location: principal.php');
            exit;

            

        } 
    }
}

// Si llegamos a ejecutar hasta aquí, ha habido algún error
$titulo 'ERROR EN LOGIN';
require(
'cabecera.inc');

echo 
'<center><h2>';
if (
$_POST['usuario'] != $id_usuario) {
    echo 
"Error, usuario ".$_POST['usuario']." desconocido";
} else {
    echo 
'Error, clave incorrecta';
}
echo 
'</h2><br>';

echo 
'<a href="index.php">Volver</a></center>';


require(
'pie.inc');
?>
este el principal.php
Código PHP:
<?php
session_name
("misesion");
session_start();
echo 
session_id();

echo 
$_SESSION['usuario_id'],"<br>";
echo 
$_SESSION['usuario_clave'],"<br>";

$titulo='P&aacute;gina Principal';
require(
'cabecera.inc');

?>
Porque no sale se imprime el
Código PHP:
session_id(); 
...pero porque no llegan las variables de SESSION que
Código PHP:
$_SESSION['usuario_id']; 
y
Código PHP:
$_SESSION['usuario_clave'],"< 
Por favor necesito ayuda estoy tratando comprender esto creo que lo entiendo pero no se donde puede estar el error..saludos desde Cartagena, Colombia...
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #2 (permalink)  
Antiguo 10/10/2004, 21:56
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
en lugar de hacer echo, intenta esto en principal.php:

Código PHP:
session_start();
if ( isset(
$_SESSION['usuario_id']) ) {
    echo 
'La variable existe, esta es su descripcion: <br /><br />';
    
var_dump($_SESSION['usuario_id'])
} else {
    echo 
'Por alguna razon la variable de sesion no ha sido inicializada... buscar error mas atras.... ' ;

  #3 (permalink)  
Antiguo 11/10/2004, 07:51
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 14 años, 2 meses
Puntos: 0
aun nada

gracias amigo, pero aun en la pagina principal.php no me muestra nada, que sera o que esta pasando hoy debo resolver esto, por favor que alguien me oriente, en cualqier caso se los agadecere..chao
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #4 (permalink)  
Antiguo 11/10/2004, 07:58
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 14 años, 2 meses
Puntos: 0
Hey cluster me puedes echar una ayudadita, estoy un poco perdido..no se donde pueda esta el error,,,
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #5 (permalink)  
Antiguo 11/10/2004, 11:38
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 14 años, 2 meses
Puntos: 0
Aun sgue e intento cosas y nada que sale..ayuda.....
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #6 (permalink)  
Antiguo 11/10/2004, 19:35
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 14 años, 2 meses
Puntos: 0
Alguien me puede ayudar.......
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #7 (permalink)  
Antiguo 12/10/2004, 08:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Que tipo de propagación del SID usas? .. Según tu código donde no propagas el SID tu mismo a mano (en ningún link/redireccionamiento) estás asumiendo que PHP lo va hacer por tí. En ese caso y por el uso de "header()" de Location que haces .. a su vez estás "asumiendo" que PHP lo va hacer por cookies (la propagación del SID), por ende requieres de la siguiente configuración para PHP (lo puedes ver en un php.ini o phpinfo():

session.use_cookies = ON

y un navegador que acepte cookies mínimo

Fijate bien como propagas el SID .. por qué eso es parte fundamental para que no "pierdas" las variables de sesión.

Por lo demás ...
Si defines nombre de sesión (session_name()) .. en el ejemplo de sism82 recuerda usarlo también .. En general debes usarlo en todo uso de sesiones (o bien no lo usas .. no es obligatorio, puedes dejar a PHP que tome el valor por defecto "PHPSESID" o algo así usa).

Un saludo,
  #8 (permalink)  
Antiguo 12/10/2004, 09:28
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 14 años, 2 meses
Puntos: 0
Cluster, tengo la directiva de session.use_cookies = ON, pero tengo que hacer algo en el Header(), para que me puedan llegar las variables, porque en la pagina de login.php si me llegan, le problema es cuando el header, entra en accion en ese momento en la pag principal.php se pierden....ok...que hago??
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #9 (permalink)  
Antiguo 12/10/2004, 10:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y .. aceptas cookies en tu navegador?

Si se pierde tu sesión cuando haces un header("Location: ...") es por qué no se propaga bien tu SID en la cookie que debería crear PHP para tal fin (ya que así lo tienes configurador).

Deberías averiguar por qué no se crea tu cookie en tu navegador (php al parecer la está generando ya bien ...)

No sé si tienes acceso a tu php.ini (también se puede forzar la configuración usando ini_set() ).. pero podrías propagar el SID totalmente en cookies usando:

session.use_cookies = ON (o 1)
session.use_only_cookies = ON (o 1)
session.use_trans_sid = OFF (o 0)

Y .. "a malas" podrías propagar el SID en el URL de tus header("location: ...") tomando al SID como constante que es tipo:

Código PHP:
header ("Location: nose.php?".SID); 
Un saludo,
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 11:44.