【问题标题】:PHP Get Current Input Value and New Submitted ValuePHP 获取当前输入值和新提交的值
【发布时间】:2013-06-15 13:01:23
【问题描述】:

我有一个个人资料页面,在输入字段中显示用户当前帐号。用户可以更改此帐号并提交表单以使用他们的新帐号更新数据库。

我需要做的是获取初始帐号以及新提交的帐号,以便我可以在同一页面上运行的另一个脚本中使用它们。

$user = Am_Di::getInstance()->auth->getUser();

$oldnum = $user->accountnumber;
$newnum = $_GET['accountnumber'];

$client2 = $api->findClient( mlApi::LICENSE_ACCOUNT, $oldnum );


$client = array( 'account_no' => $newnum, 'real_demo' => '1', 'comment' => 'test2' );

$api->updateClient( mlApi::LICENSE_ACCOUNT, $client2[_index], $client );

【问题讨论】:

  • 您的问题到底是什么?你能准确点吗?
  • 如果我已经很好地理解了这个问题,那么您应该使用带有初始帐号值的隐藏类型输入。那么即使用户输入了新的账号,在提交的页面上也会出现初始账号。

标签: php forms get amember


【解决方案1】:

如果您想保留一个值以供将来使用,有两种常用方法(可能是其他方法)来处理它。

  1. 保存在会话中
  2. 在用户表单中呈现为隐藏的表单元素并从客户端读取。

后者存在 100% 的安全问题,因为恶意用户可以在下一个请求到来之前更改此 id。演示如何

<input type='hidden' name='account_id' value='<?php echo $account?>' />
<input type='text' name='account_id_text' value='<?php echo $account?>' />

强烈建议不要使用这种方法。

第一种方法,使用会话是所有机制中最安全的。

利用它

 $_SESSION['account_id'] = $account_id;
 //render the view here

我希望这能回答你的问题。

【讨论】:

  • 问题是我必须使用 $user->accountnumber;从数据库中获取帐号,因此它总是从数据库中获取更新的条目。
  • 您可以将其与会话中的值进行比较
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-23
  • 2018-08-08
相关资源
最近更新 更多