Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/09/2010, 13:11
mag55
 
Fecha de Ingreso: octubre-2009
Mensajes: 42
Antigüedad: 14 años, 6 meses
Puntos: 1
pasar contenido de variables

hola que tal, tengo un problema y creo que que es el sig, quiero ingresar datos para loguearme en una pag de practica que estoy haciendo, el tema es que me salta un error que dice que en la clase Direccion del archivo url.php en la linea 21 que es una consulta se da el error pero luego veo que esto empieza desde antes ya que no se llegan a recibir los datos usrname y passwrd que yo introduzco en primera instancia y que pasan en primer lugar por miembro.php para despues llamar a la clase Autentica de autentificar_usr.php, probe pasando estos dos valores con POST pero no va... que puede ser?, les agradecere su ayuda porque me trabe con esto hace rato
saludos

miembro.php
Código PHP:
<?php

   
require_once('formularios.php');
   require_once(
'autentificar_usr.php');
   require_once(
'url.php');
   
session_start();
   
   
$form= new Muestra();
   
$check= new Autentica();
   
$link= new Direccion();

   
$form-> html_encabezar('MIEMBROS');
   try
   {
      if(
$usrname && $passwd)
       {
           
$check-> identificar($usrname$passwd);
       }

       
$form-> html_finalizar();
   }
   catch (
Exception $e)
   {
       
$titulo"Problema:";
       
$form->html_subcomentar($titulo);
       
$msg$e-> getMessage();
       echo 
$msg;
       exit();
   }

   
$form->html_encabezar("INICIO");
   
$check-> chequear_usuario_valido();
   
//devuelve los marcadores del usuario
   
if ($urlArray$link-> usr_urls($usuarioValido));
   
$form-> mostrar_urls($urlArray);
   
//muestra el menu de opciones
   
$form-> mostrar_menu();
   
$form-> html_finalizar();
?>
autentificar_usr.php
Código PHP:
<?php

    
require_once('conexion.php');

    class 
Autentica
    
{
        private 
$servidor'localhost';
        private 
$usuario'gerardo';
        private 
$clave'gerardo';
        private 
$baseDatos'marcadores';
        private 
$base;
        public 
$opc"";

        
//Asi se crea y usa un objeto dentro de una clase
        
function __construct()
        {
                
$this-> base= new Conecta($this-> servidor$this-> usuario$this-> clave$this-> baseDatos);
        }

        function 
registrar($usrname$passwd$mail)
        {
            try
            {
                
$opc1;
                
$this-> base->obt_opc($opc);
                
$consultaStr"select * from usuario where nombUsuario= '$usrname'";
                
$this-> base-> consultar($consultaStr);
                
$this-> base-> desconectar_base();
            }
            catch (
Exception $e)
            {
                
$msg$e->getMessage();
                echo 
$msg;
                exit();
            }

            try
            {
                
$insertarStr"insert into usuario(nombUsuario, clave, correo) values('$usrname', '$passwd', '$mail')";
                
$this-> base-> consultar($insertarStr);
                
$this-> base-> desconectar_base();
            }
            catch (
Exception $e)
            {
                
$msg$e-> getMessage();
                echo 
$msg;
                exit();
            }

            return 
TRUE;
        }

        function 
identificar($usrname$passwd)
        {
            try
            {
                
$opc3;
                
$this-> base->obt_opc($opc);
                
$consulta"select * from usuario where nombUsuario= '$usrname' and clave= '$passwd'";
                
$resultado$this-> base-> consultar($consulta);
                 
$this-> base-> desconectar_base();
                if(
$resultado== TRUE)
                {
                   echo 
"Bienvenido $usrname";
                   
$usuarioValido$usrname;
                   
session_register("usuarioValido");
                }
            }
            catch (
Exception $e)
            {
                
$msg$e-> getMessage();
                echo 
$msg;
                exit();
            }

            if(!
$usrname && !$passwd)
                {
                    throw new 
Exception("No has podido identificarte correctamente, debes identificarte para porder acceder al sitio");
                    exit();
                }
        }

        function 
chequear_usuario_valido()
        {
            global 
$usuarioValido;

            if(
session_is_registered($usuarioValido))
                {
                    echo 
"Sesion correspondiente a $usuarioValido";
                    echo 
'<br>';
                }
                else
                {
                    echo 
"PROBLEMA";
                }
        }

        
//forma de generar clave alfanumerica
        
function resetear_clave($usrname)
        {
            
$cadena"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";

            for(
$i=0$i<9$i++)
            {
                
$contraseña.= substr($cadenamt_rand(062), 1);
            }
            try
            {
                
$actualizar"update usuario set clave= '$contraseña' where nombUsuario= '$usrname'";
                
$resultado$this-> base-> consultar($actualizar);
                
$this-> base-> desconectar_base();

                if(
$resultado!= TRUE)
                {
                   throw new 
Exception("<b>ERROR::</b> Tu clave no se ha podido midificar, intenta nuevamenta mas tarde.");
                }
                else
                {
                    return 
$contraseña;
                }
            }
            catch (
Exception $e)
            {
                
$msg$e-> getMessage();
                echo 
$msg;
                exit();
            }
        }

        function 
notificar_clave($username$passwd)
        {
            try
            {
                
$opc2;
                
$this-> base->obt_opc($opc);
                
$consultar"select correo from usuario where nombUsuario= '$username'";
                
$resultado$this-> base-> consultar($consultar);
                
$this-> base-> desconectar_base();
                
                if(!
$resultado)
                {
                    throw new 
Exception("<b>ERROR::</b> Tu nueva clave no ha podido ser enviada a tu mail, porfavor intenta nuevamente");
                }
                else
                {
                    
$correomysql_result($resultado0"correo");
                    
$de"From: [email protected] \r\n";
                    
$mesg"Tu contraseña de Links ha sido cambiada a $passwd \r\n"
                           
."Por favor utiliza la misma la proxima vez que entres al sitio. \r\n";
                    if(
mail($correo"información de Links"$mesg$de));
                    {
                        echo 
"Tu nueva clave fue enviada con exito a tu dirección de email.";
                    }
                }
            }
            catch(
Exception $e)
            {
                
$msg$e ->getMessage();
                echo 
$msg;
                exit();
            }
        }

        
//esta funcion reeplaza la clave de la base de datos
        
function cambiar_clave($username$viejo_passwd$nuevo_passwd)
        {
            if(
identificar($username$viejo_passwd))
            {
                
$actualizar"update set clave= '$nuevo_passwd' where nombUsuario= '$username'";
                
$resultado$this-> base->consultar($actualizar);
                
$this-> base-> desconectar_base();
            }
            if(!
$resultado)
            {
                throw new 
Exception("<b>ERROR::</b>La clave no ha podido ser modificada.");//return false
            
}
            else
            {
                return 
TRUE;
            }

        }
    }
?>