在html中按下提交按钮的同时运行PHP代码,同时包含添加的信息

时间:2014-09-26 15:54:54

标签: php html wordpress submit

所以,我在我的表单中有这个提交按钮,添加了数组所需的信息,但是,当我打开这个页面时,它会自动将信息添加到我的数据库中(我正在使用带有扩展转发器的插件ACF的wordpress )。

我必须做的是,不是在打开页面时运行我的PHP脚本,而是在我按下提交按钮并包含表单中添加的数字时运行它。

            $timea = date(d);
            if($timea<27)
                {   

                    ?>
                    <form action="<?php the_permalink(); ?>" method="GET" enctype="multipart/form-data">
                        <input type="number" name="cantpag" value="9">
                        <input type="number" name="cantreinv" value="9">

                        <input type="submit">
                    </form>
                    <?php

                    $arrayname = get_field('datos_especificos',$current_inv);
                    $arrayname[] = array(
                            'fecha'                         => 20140504,
                            'saldo'                         => 5,
                            'inversion_en_el_periodo'       => 5,
                            'interes_causado_en_el_periodo' => 5,
                            'cantidad_pagada'               => $_POST["cantpag"],
                            'cantidad_reinvertida'          => $_POST["cantreinv"],
                            'saldo_final'                   => 5
                        );


                    $field_key = "datos_especificos";
                    update_field($field_key, $arrayname, $current_inv);

                    ?>

                    <?php   

            }else{
                ?> <p>Cant do any changes after the 26th</p> <?php
            }

2 个答案:

答案 0 :(得分:1)

在运行更新数据库代码之前,您需要检查GET(尽管我建议使用POST)信息。确保将此添加到提交的页面(或当前代码,如果这是相同的页面)转到。例如:

if( isset($_GET["cantpag"] ) {
    // Run code
}

这确保用户在表单中输入信息并单击提交。您可以检查所有输入值,但通常不需要。

答案 1 :(得分:0)

您需要通过检查$ _POST中是否存在仅在表单发送后存在的变量来检查表单是否已提交。

例如:

if (isset($_POST['cantpag'])){

     $field_key = "datos_especificos";
     update_field($field_key, $arrayname, $current_inv);
}

这样,该字段只会在表单发布后更新。