Foros del Web » Programando para Internet » PHP »

pasar contenido de variables

Estas en el tema de pasar contenido de variables en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/09/2010, 13:11
 
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;
            }

        }
    }
?>
  #2 (permalink)  
Antiguo 21/09/2010, 13:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: pasar contenido de variables

De donde obtienes los valores? Recuerda que deben de venir de un formulario y para leerlos debes de usar $_POST o $_GET dependiendo del method que viene en tu formulario.

Saludos.
  #3 (permalink)  
Antiguo 22/09/2010, 09:16
 
Fecha de Ingreso: octubre-2009
Mensajes: 42
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: pasar contenido de variables

Hola gator, gracias por contestar, a los datos los obtengo de un formulario que se encuentra dentro de la clase Muestra del archivo formularios.php y los paso mediante el metodo post
si necesitas ver esta clase avisame

saludos
  #4 (permalink)  
Antiguo 22/09/2010, 09:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: pasar contenido de variables

Recuerda el ciclo de trabajo, para poder ver esas variables tienes que forzosamente hacer el POST al script donde este tu clase para que las puedas ver.

Saludos.

Etiquetas: contenido, pasar, variables
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 09:27.