Foros del Web » Programando para Internet » PHP »

Sesion que no se conecta a la Base de datos

Estas en el tema de Sesion que no se conecta a la Base de datos en el foro de PHP en Foros del Web. Hola a todos. Tengo mis paginas programadas en forma modular segun el tutorial --> http://www.webtaller.com/construccio..._modulares.php Y copie parte del Autentificator de Cluster para hacer la ...
  #1 (permalink)  
Antiguo 27/01/2006, 09:01
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años, 1 mes
Puntos: 0
Sesion que no se conecta a la Base de datos

Hola a todos.

Tengo mis paginas programadas en forma modular segun el tutorial --> http://www.webtaller.com/construccio..._modulares.php

Y copie parte del Autentificator de Cluster para hacer la seguridad de mi pagina. Pero lo malo es que cuando entro, no se conectaa la base de datos (eso si la seguridad es perfecta), pero si "malogro" la sesion poniendole algo antes, ahi si entra a la base de datos (claro pero ya no sirve porque no hay seguridad!)

Aqui les dejo mi código (el código de mi index, es igualito al del tutorial):

verifica.php
Código PHP:
<?php
// Nombre de la session (puede dejar este mismo)
$usuarios_sesion="autentificator";

$url explode("?",$_SERVER['HTTP_REFERER']);
$pag_referida=$url[0];
$redir=$pag_referida;
// chequear si se llama directo al script.
if ($_SERVER['HTTP_REFERER'] == ""){
die (
"Error cod.:1 - Acceso incorrecto!");
exit;
}

// Chequeamos si se está autentificandose un usuario por medio del formulario
if (isset($_POST['user']) && isset($_POST['pass'])) {

// Conexión base de datos.
putenv("ORACLE_SID=agri");
putenv("ORACLE_HOME=/opt/oracle/product/9.2.0");
// si no se puede conectar a la BD salimos del scrip con error 0 y
// redireccionamos a la pagina de error.

$conectar=@ora_plogon($_POST['user']."@bdtest",$_POST['pass']);// or die(header ("Location:  $redir?error_login=0"));
echo "<p>Aqui esta la variable de coneccion:".$conectar." viste?";
//vemos si el usuario y contraseña es váildo
if ($conectar){
    
$op=ora_open($conectar);
    
//usuario y contraseña válidos
    //defino una sesion y guardo datos
     // le damos un mobre a la sesion.
    
session_name($usuarios_sesion);
     
// incia sessiones
    
session_start();
    
$_SESSION["autentificado"]="SI"
    
session_cache_limiter('nocache,private');
    
// Paranoia: decimos al navegador que no "cachee" esta página.
    
header ("Location: ?mod=encuesta_cultivos");
}else {
    
//si no existe le mando otra vez a la portada
    
header ("Location:  index.php?error_login=0");
//    header("Location: index.php?errorusuario=si");
}


    
// En este punto, el usuario ya esta validado.
    // Grabamos los datos del usuario en una sesion.
    
    // Asignamos variables de sesión con datos del Usuario para el uso en el
    // resto de páginas autentificadas.
} else {
// -------- Chequear sesión existe -------

// usamos la sesion de nombre definido.
session_name($usuarios_sesion);
// Iniciamos el uso de sesiones
session_start();

// Chequeamos si estan creadas las variables de sesión de identificación del usuario,
// El caso mas comun es el de una vez "matado" la sesion se intenta volver hacia atras
// con el navegador.

if (!isset($_SESSION["autentificado"])){
// Borramos la sesion creada por el inicio de session anterior
session_destroy();
die (
"Error cod.: 2 - Acceso incorrecto!");
exit;
}
}
?>
formulario.php
Código PHP:
          <Form action="?mod=pagina1" method="post">
          <
table width="100%" border="1" cellpadding="0" align="center" cellspacing="0" bordercolor="E5E5D1" >
                            <!--
DWLayoutTable-->
                            <
tr bgColor=#F2F4E9>
                              
<td width="399" height="22" align="center" valign="top"
                                <
P><FONT face=verdana size=1>Usuario
                                  <
input class=caption type="text" name="user">
                          &
nbspPassword
                                  <
input class=caption type="password" name="pass"
layout_simple.php
Código PHP:
<?php require('modulos/verifica.php');?>
<?php 
include('includes/navcontainer.htm'); ?>
<?
    
if (file_exists$path_modulo )) include( $path_modulo );
    else die(
'Error al cargar el módulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
?>

<?php //include('includes/footer.html'); ?>
</body>
</html>
conf.php
Código PHP:
define('MODULO_DEFECTO''home');
define('LAYOUT_DEFECTO''layout_simple.php');
define('LAYOUT_VALIDA''layout_valida.php');
define('LAYOUT_INICIO','layout_ini.php');
define('LAYOUT_FIN','layout_end.php');
define('MODULO_PATH'realpath('./modulos/'));
define('LAYOUT_PATH'realpath('./layouts/'));

$conf['home'] = array(
        
'archivo' => 'formulario.php',
        
'layout' =>  LAYOUT_INICIO );
$conf['valida'] = array(
        
'archivo' => 'verifica.php',
        
'layout' => LAYOUT_VALIDA ); 

$conf['pagina1'] = array(
        
'archivo' => 'pagina1.php'
layout_ini.php
Código PHP:
<?php
  
// No almacenar en el cache del navegador esta página.
        
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");                     // Expira en fecha pasada
        
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");        // Siempre página modificada
        
header("Cache-Control: no-cache, must-revalidate");                   // HTTP/1.1
        
header("Pragma: no-cache");                                           // HTTP/1.0
/* Se establecen las variables mas importantes de SESION para que al inicio
de cada página ellas retornen a un valor vacío*/
?>
<?php 
include('includes/navcontainer_inicial.htm'); ?>
<?
    
if (file_exists$path_modulo )) include( $path_modulo );
    else die(
'Error al cargar el módulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
?>

<?php //include('includes/footer.html'); ?>
</body>
</html>
layout_valida.php
Código PHP:
<?php //include('includes/navcontainer_final.htm'); ?>
<?
    
if (file_exists$path_modulo )) include( $path_modulo );
    else die(
'Error al cargar el módulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
?>

<?php //include('includes/footer.html'); ?>
</body>
</html>
Que estoy haciendo mal???

saludos a todos y gracias de antemano,
__________________
Mi blog
  #2 (permalink)  
Antiguo 27/01/2006, 09:14
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años, 1 mes
Puntos: 0
Ah bueno, me falto el codigo de la pagina1.php, pero no es naa importante porque solo tengo esto:

Código PHP:
<p><strong>1. Departamento: </strong>
<select name="Departamento" onchange="submit()">
<option value="">Seleccione Departamento: </option>
<option value="">-------------------------</option>
<?php
    $sql10
="select cod_ugigeo,dsc_ubigeo from ubigeo order by 2";
    
$parse=ora_parse($op,$sql10);
    
$exec=ora_exec($op);
        while(
ora_fetch_into($op, &$resultora_fetch_into_assoc))
        {
            if(
$result[0]==$depart){
            echo
'<option selected value="'.$result[0].'">'.$result[1].'</option>';
            }else
            {
            echo
'<option value="'.$result[0].'">'.$result[1].'</option>';
            }
        }

?>
</select>
Sirve de algo que estoy intentando desde la semana pasada y naa e naa???
__________________
Mi blog
  #3 (permalink)  
Antiguo 01/02/2006, 12:57
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años, 1 mes
Puntos: 0
Todavia no lo he sacado!!!!
__________________
Mi blog
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 03:33.