所以,我在我的表单中有这个提交按钮,添加了数组所需的信息,但是,当我打开这个页面时,它会自动将信息添加到我的数据库中(我正在使用带有扩展转发器的插件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
}
答案 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);
}
这样,该字段只会在表单发布后更新。