2013-06-19 2 views
0

У меня есть страница профиля, которая показывает номер текущей учетной записи пользователя в поле ввода. Пользователь может изменить этот номер учетной записи и отправить форму для обновления базы данных с новым номером учетной записи.PHP Получить текущее входное значение и новое отправленное значение

Что мне нужно сделать, это получить номер начальной учетной записи, а также новый номер отправленного счета, чтобы я мог использовать их в другом скрипте, который работает на той же странице.

$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); 
+0

В чем проблема? Вы можете быть точными? –

+2

Если я хорошо понял вопрос, тогда вы должны использовать ввод скрытого типа со значением начального номера учетной записи. Тогда даже если использование вводит новый номер учетной записи, исходный будет также доступен на представленной странице. – Fallen

ответ

1

Если вы хотите сохранить сохраненное значение для использования в будущем, существует два общих способа (могут быть другие способы) его обработки.

  1. Сохранить его в сессии
  2. Rendering как скрытый элемент формы в виде пользователя и прочитать его обратно от клиента.

Последний имеет 100% -ную проблему с безопасностью, так как злоумышленник может изменить этот идентификатор до следующего запроса. Чтобы продемонстрировать, как

<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 

Я надеюсь, что это ответ на ваш вопрос.

+0

Проблема заключается в том, что я должен использовать $ user-> accountnumber; для извлечения номера учетной записи из базы данных, поэтому она всегда берет обновленную запись из db. – user1659043

+0

вы можете сравнить его со значением от сеанса – DevZer0

Смежные вопросы