Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

recuperar valor de variable

Estas en el tema de recuperar valor de variable en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola gente que tal miren sigo renegando con esta función consultar que esta en la clase CONEXION Código PHP: public function  consultar ( $consulta ) //usar esta func en caso de una petición mas específica a la base ...
  #1 (permalink)  
Antiguo 11/06/2010, 14:00
 
Fecha de Ingreso: octubre-2009
Mensajes: 42
Antigüedad: 15 años, 2 meses
Puntos: 1
recuperar valor de variable

hola gente que tal miren sigo renegando con esta función consultar que esta en la clase CONEXION

Código PHP:
public function consultar($consulta)//usar esta func en caso de una petición mas específica a la base
            
{
                    
$this->resultado= @mysql_query($consulta);

                    if(
ereg("^[s]",$consulta))
                    {
                        switch(
$this->dev_opc())
                        {

                            case 
1:
                               if(!
$this-> resultado)
                               {
                                    throw new 
Exception('<b>ERROR::</b>No se ha podido realizar la peticion.<br>');
                               }
                               if(
mysql_num_rows($this-> resultado)>0)
                               {
                                    throw new 
Exception('<b>ERROR::</b>El ususario que intenta registrar ya existe.<br>');
                               }
                               break;

                            case 
2:
                               if(
mysql_num_rows($this->resultado)==0)
                               {
                                    throw new 
Exception('Tu contraseña no ha podido modificarse, intenta nuevamente mas tarde.');
                               }
                               else
                               {
                                   return 
$this->resultado;
                               }
                               break;

                            case 
3:
                               if(!
$this-> resultado)
                               {
                                   throw new 
Exception('No se ha podido identificate, debes estar registrado para ver esta pagina.');
                               }
                               
                               break;
                            default:
                                echo
"";
                        }                       
                    }
                    if(
ereg("^[i]"$consulta))
                    {
                        if(!
$this-> resultado)
                        {
                            throw new 
Exception('<b>ERROR::</b>No gas podido ser registrado en la base de datos, por favor intentalo mas tarde.');
                        }
                    }
                    if(
ereg("^[u]"$consulta))
                    {
                        return 
TRUE;
                    }
            } 
porque quiero hacer funcionar la estructura switch con estas otras dos funciones que tambien esta en la misma clase CONEXION

Código PHP:
public function obt_opc($opc)
            {
                
$this-> opc$_POST['$opc'];
            }

            public function 
dev_opc()
            {
                return 
$this-> opc;
            } 
estas dos funciones las tengo para obtener los valores de la variable $opc que esta incluida en otras funciones de otra clase que sería AUTENTICA una de estas funciones por ejemplo podría ser

Código PHP:
function registrar($usrname$passwd$mail)
        {
            try
            {
                
$opc1;
                
$consultaStr"select * from usuario where nombUsuario= '$usrname'";
                
$this-> base-> consultar($consultaStr);
            }
            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);
            }
            catch (
Exception $e)
            {
                
$msg$e-> getMessage();
                echo 
$msg;
                exit();
            }

            return 
TRUE;
        } 
hay también otras funciones que responderían a distintos valores en la variable según la función que corresponda.
bueno el tema es que el valor lo paso de una clase a otra sin problemas pero cuando lo quiero recuperar mas tarde mediante la funcion dev_opc() en la clase CONEXION no pasa nada y no se que estoy haciendo mal o no se si el valor que logro pasar lo tengo que usar inmediatamente pero yo supongo que cuando paso el valor luego lo puedo llamar cuando yo quiera a través de dev_opc() pero por lo visto no es así, por eso requiero de su ayuda.
saludos y gracias desde ya
  #2 (permalink)  
Antiguo 12/06/2010, 00:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: recuperar valor de variable

Prueba leer $_POST['opc'] en lugar de $_POST['$opc'].

Saludos.
  #3 (permalink)  
Antiguo 12/06/2010, 12:30
 
Fecha de Ingreso: octubre-2009
Mensajes: 42
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: recuperar valor de variable

hola Gator, te agradezco la respuesta, pero lo intente y no dio resultado, ah una pregunta? porque $_POST['opc'] y no $_POST['$opc'], cual es la diferencia o directamente es que yo lo había puesto mal?
por último voy a buscarle la vuelta a generar una funcion del lado de la clase Autentica() para pasar el valor a la clase CONECTA pero no creo que funcione ya lo hice antes y me tiraba un error como que las clases conecta y autentica se llamaban asi mismas una y otra vez ya que en autentica llamo a la clase conecta mediante el metodo construct de la siguiente manera

Código PHP:
function __construct()
        {
                
$this-> base= new Conecta($this-> servidor$this-> usuario$this-> clave$this-> baseDatos);
        } 
si hago lo misma en la clase conecta para asi llamar a los metodos de la clase autentica pasa lo que dije antes creo, las clases se la pasan llamandose unas a otras mediante el metodo construc, tendria que poner algun condicional para ver si puedo frenar eso no se ya vere que hago
saludos y gracias
  #4 (permalink)  
Antiguo 13/06/2010, 22:58
Avatar de dots3r  
Fecha de Ingreso: julio-2008
Mensajes: 106
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: recuperar valor de variable

Con respecto a tu variable $_POST['$opc'], checa el uso de las comillas:

Código PHP:
 // Imprime el texto $opc 
echo '$opc';

// Imprime el valor de la variable opc
echo "$opc" ;

// Imprime el valor de la variable opc
echo $opc
Ahora bien depende de tu situación, si quieres imprimir el valor de la posición del array $_POST con llave opc:
Código PHP:
$_POST["opc"]; 
Si quieres imprimir el valor de la posición del array $_POST con llave = $opc :
Código PHP:
$_POST[$opc]; 
Suerte

Última edición por dots3r; 13/06/2010 a las 23:04
  #5 (permalink)  
Antiguo 23/06/2010, 08:23
 
Fecha de Ingreso: octubre-2009
Mensajes: 42
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: recuperar valor de variable

hola gente, bueno despues de renegar un rato lo resolvi de la siguiente manera

Código PHP:
 public function obt_opc($opc)
            {
                
$this-> valor$opc;
            }

            public function 
dev_valor()
            {
                return 
$this-> valor;
            } 
mi equivocacion era que pretendia pasar el valor de una variable de una clase a otra mediante post, pero no era asi porque post se usa cuando interviene un formulario y ahi fue cuando probe e hice esto lo cual funciono, se los dejo por si le sirve a alguien saludos
  #6 (permalink)  
Antiguo 29/06/2010, 14:04
 
Fecha de Ingreso: febrero-2010
Mensajes: 23
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: recuperar valor de variable

bien ahora tienes que llamar a la funcion para que te funcione la variable ejemplo:

$aa = new clase();
$aa->obt_opc();

echo $aa->dev_opc();

o me equivoco?

Etiquetas: recuperar, 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 14:30.