Foros del Web » Programando para Internet » PHP »

Usar variable del resultado de una function

Estas en el tema de Usar variable del resultado de una function en el foro de PHP en Foros del Web. Hola mis estimados ando trabado en lo siguiente. Tengo un archivo llamado registro.php que manda a llamar un php con: include("function.php"); El archivo function.php como ...
  #1 (permalink)  
Antiguo 13/03/2008, 18:17
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Usar variable del resultado de una function

Hola mis estimados ando trabado en lo siguiente.

Tengo un archivo llamado registro.php que manda a llamar un php con:

include("function.php");

El archivo function.php como lo dice su nombre tiene una funcion la cual valida ciertas cosas y si todo esta bien me da una variable:

$perfecto = "ok";

Ahi todo bien, le pongo un echo en el archivo function.php y sale muy bien, el problema es que cuando esa variable $perfecto la quiero seguir usando para otras comparaciones ya en el archivo registros.php ya no me deja usarla me manda un error.

Intento hacer lo siguiente:

if($perfecto == 'ok')
{
'Proceso
}else{
'Otro `proceso
}



Espero que me puedan echar la mano como siemrpe saludos....
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #2 (permalink)  
Antiguo 13/03/2008, 18:27
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 3 meses
Puntos: 7
Re: Usar variable del resultado de una function

Seguramente tu función es algo así:
Código PHP:
function mifuncion(){
............
............
echo 
$perfecto;

Prueba cambiar el echo por return, y en donde quieras usar el valor de la función:
$mivariable = mifuncion();
Esto si todo es correcto hará que "$mivariable" obtenga el valor de "$perfecto" en este caso "ok".
Espero que se entienda lo que digo, y espero que sea lo que tu necesitas.
Cualquier duda consultas :)
Saludos!
__________________
I'm gonna start a revolution from my bed...
  #3 (permalink)  
Antiguo 13/03/2008, 18:46
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Re: Usar variable del resultado de una function

Pues no mas no pude mi estimado mira te pongo un ejemplito de la function

function palabras($a,$b)
{
if ($a == 1 || $a == 2)
{
$perfecto = "mal";
}
elseif($b == 1 || $b == 2)
{
$perfecto = "mal";
}
else
{
$perfecto = "ok";
}
}


y ya afuera de esta function quiero una validación para seguir con mas procesos.

if($perfecto == 'ok')
{
'Proceso
}else{
'Otro `proceso
}



Y ya le hice como tu diceas y nada... puse lo sigueinte..


function palabras($a,$b)
{
if ($a == 1 || $a == 2)
{
$perfecto = "mal";
}
elseif($b == 1 || $b == 2)
{
$perfecto = "mal";
}
else
{
return $perfecto = "ok";
}
}


y la quiero mandar a imprimir con esto como me dijiste..


echo $mivariable = mifuncion();

y me mada el siguiente error..........


Parse error: parse error in c:\program files\easyphp1-8\www\colgate\query_registro_video.php on line 22


y esto tengo en la linea 22

echo $mivariable = palabras();


Espero me puedas ayudar...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #4 (permalink)  
Antiguo 13/03/2008, 19:08
Avatar de _cx
_cx
 
Fecha de Ingreso: diciembre-2007
Ubicación: Montevideo, Uruguay
Mensajes: 70
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: Usar variable del resultado de una function

Código PHP:
<?php
    
function palabras($a,$b)
    {
        if (
$a == || $a == 2)
        {
            
$perfecto "mal";
        }elseif(
$b == || $b == 2){
            
$perfecto "mal";
        }else{
            
$perfecto "ok";
        }
        
        return 
$perfecto
    
}
    
    
$mivar palabras(1,2);
    echo 
$mivar;
?>
prueba con ése código y comenta que tal te va.

saludos
  #5 (permalink)  
Antiguo 13/03/2008, 19:43
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 3 meses
Puntos: 7
Re: Usar variable del resultado de una function

Tienes dos errores, que son de concepto:
Código PHP:
function palabras($a,$b)
{
if (
$a == || $a == 2)
{
$perfecto "mal";
}
elseif(
$b == || $b == 2)
{
$perfecto "mal";
}
else
{
return 
$perfecto "ok"; <-------- Error #1
}

Código PHP:
echo $mivariable palabras(); <---------------- Error #2 
Error #1: Debes hacer el return fuera de la sentencia if, como puso "CX" mas arriba, porque si lo haces solo donde lo pusiste, el problema radicará en que solo obtendrás el valor de $perfecto unicamente para el "else", osea asignas el valor de $perfecto para cada caso y al final de la asignación haces el return $perfecto

Error #2: aquí intentaste asignar el valor de una variable mientras la estás imprimiendo por pantalla con el "echo", eso no se puede hacer. Se hace en 2 pasos, primero asignas la variable y luego impimes el resultado, exactamente como te lo puesto "CX" en el ejemplo de arriba.
Prueba con lo que te ha dicho "CX" y cuentanos como te va.
Saludos!
__________________
I'm gonna start a revolution from my bed...
  #6 (permalink)  
Antiguo 13/03/2008, 20:06
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Re: Usar variable del resultado de una function

Mil gracias pablinff y _cx ya quedo ahora si disculpen las molestias y comprendan que soy medio lento para entender jajaja...

Saludos y sigan aportando ese conocimiento que a muchos nos hace falta..


..................
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #7 (permalink)  
Antiguo 13/03/2008, 20:58
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 3 meses
Puntos: 7
Re: Usar variable del resultado de una function

No hay problema :) me alegra que hayas podido solucionar tu problema, y sabes que puedes contar con nosotros...
Saludos!
__________________
I'm gonna start a revolution from my bed...
  #8 (permalink)  
Antiguo 13/03/2008, 21:18
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Re: Usar variable del resultado de una function

Bueno aprovechando que van encarrerados jajaja...

fijate que me sale el siguiente problema..

Retomando el mismo codigo

A mi me llegan valores de un formulario los cuales debo de ver que no tengan ciertas palabras:

Ejemplo de palabras:
agua
acuifero
manantial


y yo con esta function

<?php
function palabras($a,$b)
{
if ($a == 1 || $a == 2)
{
$perfecto = "mal";
}elseif($b == 1 || $b == 2){
$perfecto = "mal";
}else{
$perfecto = "ok";
}

return $perfecto
}

$mivar = palabras(a,b);
echo $mivar;
?>


Checo que no lleguen esas palabras pero tengo el problema que si en un campo ponen dos palabras acuifero manatial yo recibo asi

$a=$_POST['nombre'];
$b=$_POST['nombre'];

esto seria

$a="acuifero manantial"
$a="acuifero agua"

entonces ya se brinca mi validación, tu sabes como le puedo ahcer para que no tenga este problema..


Saludos....
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
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 06:47.