PHP - Nose utilizar func_get_args (). Necesito implementarla en el código de abajo totalmente operativo.

 
Vista:
Imágen de perfil de InfoTips
Val: 5
Ha aumentado su posición en 27 puestos en PHP (en relación al último mes)
Gráfica de PHP

Nose utilizar func_get_args (). Necesito implementarla en el código de abajo totalmente operativo.

Publicado por InfoTips (3 intervenciones) el 27/10/2018 15:40:25
Ejercicio: Reescribir el codigo que vereis a continuacion creando una funcion inventada llamada botSel(); que presenta todos aquellos argumentos que se le pasan como botones de seleccion (checkbox). Sugerencia use func_get_args().

Código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<html>
 
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Formulari interactiu amb if-else</title>
</head>
 
<body>
    <h2>Ciutat preferida</h2>
    <?php
// Si no s'ha premut el botó, es va al formulari inicial
if (!isset($_POST['submit'])) {
    ?>
    <form method="post" action="ex4.3.php">
        <p>Introdueixi la seva informació:</p>
        Ciutat: <input type="text" name="ciutat" />
        Mes: <input type="text" name="mes" />
        Any: <input type="text" name="any" />
        <p>Si us plau, seleccioni quin tipus de temps metereològic heu experimentat.
            <br />Escolliu el que toqui. </p>
        <input type="checkbox" name="tempsMeteo[]" value="assolellat" />Assolellat<br />
        <input type="checkbox" name="tempsMeteo[]" value="núvols" />Núvols<br />
        <input type="checkbox" name="tempsMeteo[]" value="pluja" />Pluja<br />
        <input type="checkbox" name="tempsMeteo[]" value="calamarsa" />Calamarsa<br />
        <input type="checkbox" name="tempsMeteo[]" value="aiguaneu" />Aiguaneu<br />
        <input type="checkbox" name="tempsMeteo[]" value="neu" />Neu<br />
        <input type="checkbox" name="tempsMeteo[]" value="vent" />Vent<br />
        <input type="checkbox" name="tempsMeteo[]" value="fred" />Fred<br />
        <input type="checkbox" name="tempsMeteo[]" value="calor" />Calor<br />
        <p />
        <input type="submit" name="submit" value="Endavant" />
    </form>
    <?php
// Si s'ha premut el botó es processa l'entrada
} else {
    //Es recull el valor de la cadena 'ciutat'
    $ciutat = $_POST['ciutat'];
    $mes = $_POST['mes'];
    $any = $_POST['any'];

    echo "A $ciutat al mes de $mes de l'any $any, es va observar que el temps era següent:";
    echo "\n<ul>\n";
    foreach ($_POST['tempsMeteo'] as $valor) {
        echo "<li>$valor</li>\n";
    }
    echo "</ul>";
}
?>
</body>
 
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Nose utilizar func_get_args (). Necesito implementarla en el código de abajo totalmente operativo.

Publicado por xve (6935 intervenciones) el 27/10/2018 19:17:04
Te he añadido la función, pero no se si es exactamente lo que tu profesor quiere, ya que yo he pasado a la funcion botSel() el array de valores $_POST["tempsMeteo"]... por lo que no le he pasado muchas variables diferentes, sino que le he pasado una que es un array...

Bueno, aquí el código, haber si te sirve:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<html>
 
<head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Formulari interactiu amb if-else</title>
</head>
 
<body>
    <h2>Ciutat preferida</h2>
    <?php
// Si no s'ha premut el botó, es va al formulari inicial
if (!isset($_POST['submit'])) {
    ?>
    <form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>">
        <p>Introdueixi la seva informació:</p>
        Ciutat: <input type="text" name="ciutat" />
        Mes: <input type="text" name="mes" />
        Any: <input type="text" name="any" />
        <p>Si us plau, seleccioni quin tipus de temps metereològic heu experimentat.
            <br />Escolliu el que toqui. </p>
        <input type="checkbox" name="tempsMeteo[]" value="assolellat" />Assolellat<br />
        <input type="checkbox" name="tempsMeteo[]" value="núvols" />Núvols<br />
        <input type="checkbox" name="tempsMeteo[]" value="pluja" />Pluja<br />
        <input type="checkbox" name="tempsMeteo[]" value="calamarsa" />Calamarsa<br />
        <input type="checkbox" name="tempsMeteo[]" value="aiguaneu" />Aiguaneu<br />
        <input type="checkbox" name="tempsMeteo[]" value="neu" />Neu<br />
        <input type="checkbox" name="tempsMeteo[]" value="vent" />Vent<br />
        <input type="checkbox" name="tempsMeteo[]" value="fred" />Fred<br />
        <input type="checkbox" name="tempsMeteo[]" value="calor" />Calor<br />
        <p />
        <input type="submit" name="submit" value="Endavant" />
    </form>
    <?php
// Si s'ha premut el botó es processa l'entrada
} else {
    //Es recull el valor de la cadena 'ciutat'
    $ciutat = $_POST['ciutat'];
    $mes = $_POST['mes'];
    $any = $_POST['any'];
 
    echo "A $ciutat al mes de $mes de l'any $any, es va observar que el temps era següent:";
    echo "\n<ul>\n";
    foreach ($_POST['tempsMeteo'] as $valor) {
        echo "<li>$valor</li>\n";
    }
    echo "</ul>";
 
    function botSel()
    {
        $arg_list = func_get_args();
        for ($i = 0; $i < count($arg_list[0]); $i++) {
            echo "<br>Argumento $i es: ".$arg_list[0][$i]."\n";
        }
    }
 
    botSel($_POST["tempsMeteo"]);
}
?>
</body>
 
</html>

Ya nos comentaras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de InfoTips
Val: 5
Ha aumentado su posición en 27 puestos en PHP (en relación al último mes)
Gráfica de PHP

Nose utilizar func_get_args (). Necesito implementarla en el código de abajo totalmente operativo.

Publicado por InfoTips (3 intervenciones) el 27/10/2018 23:58:36
O sea es perfecto tu solucion propuesta de la función, ahora solo me falta comentar el foreach anterior porque se repite el resultado y dejar sola la funcion botSel() que es lo que quiere el profe pq sino si por ejemplo clico asolellat se ve printeo 2 veces y solo lo quiere una vez printeao. Muchas Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar