Codeigniter, использующий ту же форму для сохранения и редактирования

#php #codeigniter

#php #codeigniter

Вопрос:

Я использую тот же вид в CodeIgniter для сохранения и редактирования. Успешно завершена функция сохранения при использовании той же формы для редактирования пользователем. Я получаю сообщение об ошибке

Сообщение: Неопределенная переменная lastname

 <form>
     <input type="text" class="form-control" id="lastname" name="lastname" placeholder="Last name" value="<?php echo $user->lastname; ?>">
</form>
  

Комментарии:

1. Как вы загружаете представление? Похоже, что у $user объекта нет никакого свойства lastname

2. Вы можете использовать просто value="<?=@$user->$lastname; ?>" не будет генерировать ошибку

3. Гопал, это сработало, спасибо, чувак. Есть ли какой-либо другой метод без out suppress, я не знаю, рекомендуется ли это. с supperssor это работает нормально! 😉

Ответ №1:

 <?php

$last_name=NULL;
if(isset($user->lastname)){
$last_name=$user->lastname;
}

?>


<form>
     <input type="text" class="form-control" id="lastname" name="lastname" placeholder="Last name" value="<?php echo $lastname; ?>">
</form>
  

Я надеюсь, что это сработает

Комментарии:

1. хотя это подавляет ошибку, она должна быть помещена в метод контроллера, а не в шаблон

2. привет, это хорошо, в моем коде контроллера $data [‘user’] = $this-> user_model-> getUser();

3. Это сработает, я протестировал это в представлении, но проблема в том, что когда у нас есть 10 полей для пользователя, в разделе редактирования нам нужно написать check, прежде чем вводить значение в поля ввода.

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

5. инициализировать все значения этого объекта в конструкторе — хороший вариант devi

Ответ №2:

Заполните сохраненное значение в представлении при извлечении из базы данных. И пока происходит ваша вставка, проверьте, существует ли такое же значение в БД, если значение существует в БД => используйте обновление, иначе вставьте

Комментарии:

1. это не тот случай, santhosh, мы должны использовать ту же форму для сохранения и редактирования. когда код для загрузки значения при редактировании является embed, при загрузке формы сохранения он выдает ошибку, поскольку значение не определено. это происходит из-за повторного использования той же формы.