Soy principiante absoluto en tecnologías web. Sé que mi pregunta es muy simple, pero no sé cómo hacerlo.
Por ejemplo yo tengo una función:

function addNumbers($firstNumber, $secondNumber)
{
    echo $firstNumber + $secondNumber;
}

Y tengo un formulario:

<form action="" method="post">
<p>1-st number: <input type="text" name="number1" /></p>
<p>2-nd number: <input type="text" name="number2" /></p>
<p><input type="submit"/></p>

¿Cómo puedo variables de entrada sobre mis campos de texto y llamar a mi función presionando el botón con argumentos que yo he escrito en los campos de texto?
Por ejemplo yo escribo 5 – primer textfield, 10 – segundo campo de texto, a continuación, haga clic en el botón y me da el resultado de 15 en la misma página.
EDITADO
He probado a hacerlo así:

$num1 = $POST['number1'];
$num2 = $POST['number2'];
addNumbers($num1, $num2);

Pero no funciona, la respuesta es 0 siempre.

Gracias ya de todo , muy útil respuestas !
Estoy muy contento de que usted tiene una experiencia y saben cómo resolver tareas como esta. Primero de todo, he tratado de encontrar a través de Google y en StackOverflow pero yo no tengo suficiente resultado. Segundo: por favor, ¿me puedes mostrar donde estaba esta «estúpida» la pregunta? Buena suerte!

OriginalEl autor Daria | 2011-05-11

5 Comentarios

  1. 17

    La «función» que tiene es del lado del servidor. Código del lado del servidor se ejecuta antes y sólo antes de datos se devuelven a su navegador (normalmente, se muestra como una página, pero también podría ser un petición ajax).

    La forma que tiene es del lado del cliente. Este formulario es traducido por el navegador y no está «conectado» a su servidor, pero puede enviar los datos al servidor para su procesamiento.

    Por lo tanto, para ejecutar la función, el siguiente flujo que tiene que suceder:

    1. Servidor salidas de la página con el formulario. No hay ningún servidor de procesamiento en el lado que tiene que suceder.
    2. Navegador carga la página y muestra el formulario.
    3. De usuario los tipos de datos en el formulario de
    4. El usuario presiona el botón de enviar, un Solicitud HTTP a su servidor con los datos.
    5. La página de gestión de la solicitud (podría ser el mismo que el de la primera solicitud) toma los datos de la solicitud, se ejecuta su función, y salidas el resultado en una página HTML.

    Ejemplo de script PHP que hace todo esto:

    <?php
    
    function addNumbers($firstNumber, $secondNumber) {
        return $firstNumber + $secondNumber;
    }
    
    if (isset($_POST['number1']) && isset($_POST['number2'])) {
        $result = addNumbers(intval($_POST['number1']), intval($_POST['number2']));
    }
    ?>
    <html>
    <body>
    
        <?php if (isset($result)) { ?>
            <h1> Result: <?php echo $result ?></h1>
        <?php } ?>
        <form action="" method="post">
        <p>1-st number: <input type="text" name="number1" /></p>
        <p>2-nd number: <input type="text" name="number2" /></p>
        <p><input type="submit"/></p>
    
    </body>
    </html>

    Por favor nota:

    • Incluso que los de esta «página» contiene tanto el PHP y el código HTML, el navegador nunca sabe lo que el código PHP se. Todo lo que se ve es el resultado de HTML resultantes. Todo dentro de <?php ... ?> se ejecuta por el servidor (y en este caso, echo crea la única salida de esta ejecución), mientras que todo lo demás fuera de las etiquetas PHP — específicamente, el código HTML — es la salida a la Respuesta HTTP directamente.
    • Usted notará que el <h1>Result:... código HTML es dentro de PHP if declaración. Esto significa que esta línea no estará de salida en el primer paso, porque no hay $result.
    • Debido a la forma action no tiene ningún valor, el formulario se envía a la misma página (URL) que el navegador ya está.

    OriginalEl autor Nicole

  2. 4

    Que necesite para obtener los valores de la $_POST variable y se las pasan a la función.

    if ($_POST) {
      $number_1 = (int) $_POST['number1'];
      $number_2 = (int) $_POST['number2'];
      echo addNumbers($number_1, $number_2);
    }

    Se recomienda, sin embargo, que usted no debe confiar en la entrada del usuario y por lo tanto necesidad de validar y sanee su entrada.

    Gracias, pero no sé cómo funciona cuando las variables no están asignados sobre la carga de la página, así que cuando pulse el botón no pasa nada
    Es necesario asignar una acción a tu formulario. Coloca la url de tu página en la action atributo.
    Oh, gracias de nuevo) he cambiado $POST a $_POST y casi funciona! Pero cuando la carga de la página, tengo una etiqueta con el texto 0, ¿cómo puedo solucionarlo? Thanx.
    agregar el if declaración anterior que sólo se ejecuta la función si la página está publicado.
    Un beso, sé que debo asignar algo a action, pero no sé qué podría estar allí, tal vez el mismo archivo, donde escribo?

    OriginalEl autor Dave Kiss

  3. 4

    Probar Esta.

      <?php 
                function addNumbers($firstNumber, $secondNumber)
                {
                if (isset($_POST['number1']) && isset($_POST['number2']))
                {
                    $firstNumber = $_POST['number1'];
                    $secondNumber = $_POST['number2'];
                    $result = $firstNumber + $secondNumber;
                        echo $result;
                }
    
                }
        ?>
    
                <form action="urphpfilename.php" method="post">
                <p>1-st number: <input type="text" name="number1" /></p>
                <p>2-nd number: <input type="text" name="number2" /></p>
                <?php addNumbers($firstNumber, $secondNumber);?>
                <p><?php echo $result; ?></p>
                <p><input type="submit"/></p>

    OriginalEl autor mr_eclair

  4. 1

    Las variables serán en el $_POST variable.

    Analizar la función que usted necesita para hacer esto:

    addNumbers($_POST['number1'],$_POST['number2']);

    Asegúrese de verificar la entrada, los usuarios pueden agregar lo que quieran en él. Por ejemplo, el uso de is_numeric() función

    $number1 = is_numeric($_POST['number1']) ? $_POST['number1'] : 0;

    También, no echo dentro de una función, un mayor retorno:

    function addNumbers($firstNumber, $secondNumber)
    {
        return $firstNumber + $secondNumber;
    }
    
    //check if $_POST is set
    if (isset($_POST['number1']) && isset($_POST['number2']))
    {
        $number1 = is_numeric($_POST['number1']) ? $_POST['number1'] : 0;
        $number2 = is_numeric($_POST['number2']) ? $_POST['number2'] : 0;
    
        echo addNumbers($_POST['number1'],$_POST['number2']);
    }
    Gracias mucho, tengo un montón de sanos consejos.

    OriginalEl autor Rene Pot

  5. 1

    Faltan los caracteres de subrayado en

    $_POST['number1']

    Eso es todo.

    Gracias, he solucionado!

    OriginalEl autor Cups

Dejar respuesta

Please enter your comment!
Please enter your name here