Foros del Web » Programando para Internet » PHP »

devolver valor a una funcion

Estas en el tema de devolver valor a una funcion en el foro de PHP en Foros del Web. Hola a todos,tengo 2 dudas: 1.como puedo hacer para que la funcion fecha me redireccione a la pagina que le indico.La redireccion me la hace ...
  #1 (permalink)  
Antiguo 30/11/2004, 05:30
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 258
Antigüedad: 19 años, 10 meses
Puntos: 0
devolver valor a una funcion

Hola a todos,tengo 2 dudas:
1.como puedo hacer para que la funcion fecha me redireccione a la pagina que le indico.La redireccion me la hace bien pero los parametros que le paso por URL no me llegan.

2.como puedo hacer para que la pagina a la que llamo me devuelva un valor y este lo almacene en la variable fecha del script.

<html>

Código PHP:
<?
session_start
();
?>
<head>
  <title></title>
<script>
function fecha(dia,mes,ano){
    var fecha;
    location.href="calendario.php?dia=dia&nuevo_mes=mes&nuevo_ano=ano";
    
}
</script>
</head>
<body>
<input type="text" name="fecha" onfocus="fecha(30,11,2004)">FECHA
</body>
</html>
  #2 (permalink)  
Antiguo 30/11/2004, 05:34
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
me parece que tendria que ser asi la direccion

location.href="calendario.php?dia=<?php echo "dia"; ?>&nuevo_mes=<?php echo "mes"; ?>&nuevo_ano=<?php echo"ano"; ?>";

Y para lo segundo:

Lo envias por la URL y luego lo recojes:

script.php?variable=valor la cual redirecciones

$variable=$_GET['variable'];
  #3 (permalink)  
Antiguo 30/11/2004, 05:43
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 258
Antigüedad: 19 años, 10 meses
Puntos: 0
Nada estuve probando como me dijiste pero no va,a calendario.php en las variables me llegan los literales dia,mes,ano en vez de los valores.
Tambien probe asi pero nada:



Código PHP:
location.href="calendario.php?dia=<?php echo $dia;?>&nuevo_mes=<?php echo $mes;?>&nuevo_ano=<?php echo $ano;?>";


location.href="calendario.php?dia=<?php echo dia;?>&nuevo_mes=<?php echo mes;?>&nuevo_ano=<?php echo ano;?>";

Última edición por bananas; 30/11/2004 a las 05:45
  #4 (permalink)  
Antiguo 30/11/2004, 05:47
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
En este script las variables $dia,$mes,etc... has comprovado que tengan algo dentro?

Luego en el script que las recojes como lo haces?

Supongo que asi:

$dia=$_GET['dia'];
etc...
porque si es en un form y el metodo es POST seria

$dia=$_POST['dia'];

etc...

comprueva en la barra de direccion que en las variables que envias hay algo también.
  #5 (permalink)  
Antiguo 30/11/2004, 05:52
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 258
Antigüedad: 19 años, 10 meses
Puntos: 0
Al script fecha si que llegan las variables con el valor que le doy en el "onblur".
Si hago lo siguiente si que funciona:

Código PHP:
location.href="calendario.php?dia=30&nuevo_mes=11&nuevo_ano=2004"
En calendario.php lo unico que tengo son unas funciones que me crean en html un calendario.
Te pongo el codigo para que lo veas:

Código PHP:
<html>

<head>
  <title></title>
</head>

<body>

<?php

function calcula_numero_dia_semana($dia,$mes,$ano){
  
$numerodiasemana date('w'mktime(0,0,0,$mes,$dia,$ano));
  if (
$numerodiasemana == 0)
    
$numerodiasemana 6;
  else
    
$numerodiasemana--;
  return 
$numerodiasemana;
}

//funcion que devuelve el último día de un mes y año dados
function ultimoDia($mes,$ano){
    
$ultimo_dia=28;
    while (
checkdate($mes,$ultimo_dia 1,$ano)){
       
$ultimo_dia++;
    }
    return 
$ultimo_dia;
}

function 
dame_nombre_mes($mes){
         switch (
$mes){
                 case 
1:
                        
$nombre_mes="Enero";
                        break;
                 case 
2:
                        
$nombre_mes="Febrero";
                        break;
                 case 
3:
                        
$nombre_mes="Marzo";
                        break;
                 case 
4:
                        
$nombre_mes="Abril";
                        break;
                 case 
5:
                        
$nombre_mes="Mayo";
                        break;
                 case 
6:
                        
$nombre_mes="Junio";
                        break;
                 case 
7:
                       
$nombre_mes="Julio";
                        break;
                 case 
8:
                        
$nombre_mes="Agosto";
                        break;
                 case 
9:
                        
$nombre_mes="Septiembre";
                        break;
                 case 
10:
                        
$nombre_mes="Octubre";
                        break;
                 case 
11:
                        
$nombre_mes="Noviembre";
                        break;
                 case 
12:
                        
$nombre_mes="Diciembre";
                        break;
        }
        return 
$nombre_mes;
}

function 
mostrar_calendario($dia,$mes,$ano){
$mes_hoy=date("m");
$ano_hoy=date("Y");
if ((
$mes_hoy <> $mes) || ($ano_hoy <> $ano))
{
        
$hoy=0;
}
else
{
        
$hoy=date("d");
}
        
//tomo el nombre del mes que hay que imprimir
        
$nombre_mes dame_nombre_mes($mes);

        
//construyo la cabecera de la tabla
        
echo "<table width=200 cellspacing=3 cellpadding=2 border=0><tr><td colspan=7 align=center class=tit>";
        echo 
"<table width=100% cellspacing=2 cellpadding=2 border=0><tr><td style=font-size:10pt;font-weight:bold;color:white>";
        
//calculo el mes y ano del mes anterior
        
$mes_anterior $mes 1;
        
$ano_anterior $ano;
        if (
$mes_anterior==0){
                
$ano_anterior--;
                
$mes_anterior=12;
        }
        echo 
"<a style=color:white;text-decoration:none href=calendario.php?dia=1&nuevo_mes=$mes_anterior&nuevo_ano=$ano_anterior>««</a></td>";
        echo 
"<td align=center class=tit>$nombre_mes $ano</td>";

        echo 
"<td align=right style=font-size:10pt;font-weight:bold;color:white>";
        
//calculo el mes y ano del mes siguiente
        
$mes_siguiente $mes 1;
        
$ano_siguiente $ano;
        if (
$mes_siguiente==13){
                
$ano_siguiente++;
                
$mes_siguiente=1;
        }
        echo 
"<a style=color:white;text-decoration:none href=calendario.php?dia=1&nuevo_mes=$mes_siguiente&nuevo_ano=$ano_siguiente>»»</a></td></tr></table></td></tr>";
        echo 
'        <tr>
                            <td width=14% align=center class=altn>Lu</td>
                            <td width=14% align=center class=altn>Ma</td>
                            <td width=14% align=center class=altn>Mi</td>
                            <td width=14% align=center class=altn>Ju</td>
                            <td width=14% align=center class=altn>Vi</td>
                            <td width=14% align=center class=altn>Sa</td>
                            <td width=14% align=center class=altn>Do</td>
                        </tr>'
;

        
//Variable para llevar la cuenta del dia actual
        
$dia_actual 1;

        
//calculo el numero del dia de la semana del primer dia
        
$numero_dia calcula_numero_dia_semana(1,$mes,$ano);
        
//echo "Numero del dia de demana del primer: $numero_dia <br>";

        //calculo el último dia del mes
        
$ultimo_dia ultimoDia($mes,$ano);

        
//escribo la primera fila de la semana
        
echo "<tr>";
        for (
$i=0;$i<7;$i++){
            if (
$i $numero_dia){
                
//si el dia de la semana i es menor que el numero del primer dia de la semana no pongo nada en la celda
                
echo "<td></td>";
                }else{
                    if((
$i == 5) || ($i == 6)){
                        if(
$dia_actual == $hoy){
                            echo 
"<td class=da><a href=V_AltaResPerInv.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano>$dia_actual</a></td>";
                        }else{
                            echo 
"<td class=fs><a href=V_AltaResPerInv.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano>$dia_actual</a></td>";
                        }
                    }else{
                        if(
$dia_actual == $hoy){
                            echo 
"<td class=da><a href=V_AltaResPerInv.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano>$dia_actual</a></td>";
                        }else{
                            echo 
"<td align=center><a href=V_AltaResPerInv.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano>$dia_actual</a></td>";
                        }
                }
                
$dia_actual++;
            }
        }
        echo 
"</tr>";

        
//recorro todos los demás días hasta el final del mes
        
$numero_dia 0;
        while(
$dia_actual <= $ultimo_dia){
            
//si estamos a principio de la semana escribo el <TR>
            
if($numero_dia == 0)
                echo 
"<tr>";
                
//si es el uñtimo de la semana, me pongo al principio de la semana y escribo el </tr>
                
if(($numero_dia == 5) || ($numero_dia == 6)){
                    if(
$dia_actual == $hoy){
                        echo 
"<td class=da><a href=V_AltaResPerInv.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano>$dia_actual</a></td>";
                    }else{
                        echo 
"<td class=fs><a href=V_AltaResPerInv.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano>$dia_actual</a></td>";
                    }
                }else{
                    if(
$dia_actual == $hoy){
                        echo 
"<td class=da><a href=V_AltaResPerInv.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano>$dia_actual</a></td>";
                    }else{
                        echo 
"<td align=center><a href=V_AltaResPerInv.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano>$dia_actual</a></td>";
                    }
                }

                
$dia_actual++;
                
$numero_dia++;
                if(
$numero_dia == 7){
                    
$numero_dia 0;
                    echo 
"</tr>";
                }

        }

        
//compruebo que celdas me faltan por escribir vacias de la última semana del mes
        
for($i=$numero_dia;$i<7;$i++){
            echo 
"<td></td>";
        }

        echo 
"</tr>";
        echo 
"</table>";
}

mostrar_calendario($dia,$nuevo_mes,$nuevo_ano);

?>
</body>
</html>
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 20:22.