2017-08-30 67 views
0

我有一个输入具有相同名称的表单,值是urls。如果名称存在,则变量$urls接收到名称数组。2如果Issets - 无法正常工作

If (isset ($_POST['my_image'])) { 
     $urls = htmlspecialchars(json_encode($_POST['my_image'])); 
} 

我从第一isset到JSON变换该数组,我想将其保存到另一个输入端。

输入我要救这个样子的:

<Input type="text" name="imagens_inicio" value="<?php echo $urls; ?>" /> 

此输入这样和Isset:

If (isset($_POST['imagens_inicio'])) { 

     Update_option('imagens_inicio', $ _POST['imagens_inicio']); 
} 

这是所有“工作”,而是:当我点击保存屏幕刷新屏幕后,更新和$urls变量中的JSON内容会出现在输入中,而不保存。要保存我必须再次点击提交。

如何在提交时点击一次,并且已经填入输入,因为tbm已经保存在数据库中,而无需双击提交?

+1

只是将它保存在第一个条件中,而不是将其转储到另一个字段中? 'if(isset($ _ POST ['my_image'])){ Update_option('imagens_inicio',htmlspecialchars(json_encode($ _ POST ['my_image']))); }' – Steve

+0

你必须做单身保存/更新本身 –

+0

@Steve谢谢你的答案为我工作。如果您想创建回复,我会将您的回答标记为已解决 – Gislef

回答

0

代码按预期工作。您正在使用第一次提交将数据从$_POST['my_image']移到表单中,因此当您再次提交数据时,您的数据为$_POST['imagens_inicio']

相反,我建议你改变你的代码是这样的:

If (isset ($_POST['my_image'])) { 

    Update_option('imagens_inicio', htmlspecialchars(json_encode($_POST['my_image']))); 
} 

然后你只需要提交一次的形式。