| 제목 | 배포 후 display_error 함수가 에러가 발생합니다 | ||
|---|---|---|---|
| 카테고리 | CI 4 관련 | ||
| 글쓴이 | dg_dong | 작성시각 | 2022/03/14 11:58:02 |
|
|
|||
AWS 서버로 배포했을때 회원가입 데이터를 검증하고 에러를 뿌려주는 함수 display_error가 함수가 없다고 에러가 발생합니다 use로 불러온 namespace는 아래에 기입했습니다 use 부분입니다 use Codeigniter\Controller; use CodeIgniter\API\ResponseTrait; use App\Libraries\Hash;
오류가 발생하는 메소드입니다
public function save()
{
$validation = $this->validate([
'name' => [
'rules' => 'required',
'errors' => [
'required' => '이름은 필수로 입력해야됩니다'
]
],
'email' => [
'rules' => 'required|valid_email|is_unique[tbl_users.email]',
'errors' => [
'required' => '이메일은 필수로 입력해야됩니다',
'valid_email' => '이메일이 맞는지 다시 확인해주세요',
'is_unique' => '이미 존재하는 이메일 입니다',
]
],
'password' => [
'rules' => 'required|min_length[5]|max_length[12]',
'errors' => [
'required' => '비밀번호는 필수로 입력해야됩니다',
'min_length' => '비밀번호는 최소 5글자 입니다',
'max_length' => '비밀번호는 최대 12글자 입니다',
]
],
'cpassword' => [
'rules' => 'required|min_length[5]|max_length[12]|matches[password]',
'errors' => [
'required' => '확인 비밀번호는 필수로 입력해야됩니다',
'min_length' => '확인 비밀번호는 최소 5글자 입니다',
'max_length' => '확인 비밀번호는 최대 12글자 입니다',
'matches' => '확인 비밀번호는 비밀번호와 일치해야됩니다'
]
],
]);
$error = [
'name' => display_error($this->validator, 'name'),
'email' => display_error($this->validator, 'email'),
'password' => display_error($this->validator, 'password'),
'cpassword' => display_error($this->validator, 'cpassword')
];
if(!$validation){
return $this->response->setJSON($error);
} else {
// Register use into db
$data = $this->request->getJSON(true);
$name = $data['name'];
$email = $data['email'];
$password = $data['password'];
$values = [
'name' => $name,
'email' => $email,
'password' => Hash::make($password),
];
$usersModel = new \App\Models\UsersModel();
$query = $usersModel->insert($values);
if(!$query)
{
return redirect()->back();
} else {
// return redirect()->to('auth/register')->with('success','You are now registered successfully');
$last_id = $usersModel->insertID();
session()->set('loggedUser',$last_id);
return $this->response->setJSON(true);
}
}
}
오류 소스 입니다
{
"title": "Error",
"type": "Error",
"code": 500,
"message": "Call to undefined function App\\Controllers\\display_error()",
"file": "/home/Book/book/app/Controllers/Auth.php",
"line": 51,
"trace": [
{
"file": "/home/Book/book/vendor/codeigniter4/framework/system/CodeIgniter.php",
"line": 802,
"function": "save",
"class": "App\\Controllers\\Auth",
"type": "->"
},
{
"file": "/home/Book/book/vendor/codeigniter4/framework/system/CodeIgniter.php",
"line": 399,
"function": "runController",
"class": "CodeIgniter\\CodeIgniter",
"type": "->"
},
{
"file": "/home/Book/book/vendor/codeigniter4/framework/system/CodeIgniter.php",
"line": 317,
"function": "handleRequest",
"class": "CodeIgniter\\CodeIgniter",
"type": "->"
},
{
"file": "/home/Book/book/public/index.php",
"line": 37,
"function": "run",
"class": "CodeIgniter\\CodeIgniter",
"type": "->"
}
]
}
|
|||
| 다음글 | Ci3 cron질문합니다. (3) | ||
| 이전글 | 재 질문 합니다 컨트롤러-폴더 (3) | ||
|
테러보이
/
2022/03/14 13:12:14 /
추천
1
|
|
변종원(웅파)
/
2022/03/15 08:36:06 /
추천
1
이런 방법도... git 배포라면 composer로 설치된 라이브러리인지 확인하시고 업데이트.
|
|
dg_dong
/
2022/03/15 11:46:26 /
추천
0
답변해주셔서 감사합니다 로컬에서 헬퍼 함수 등록할때 대소문자가 상관이 없었습니다 하지만 AWS에 배포 후 대소문자가 달라서 문제가 되었었습니다 감사합니다 :)
|
|
변종원(웅파)
/
2022/03/15 14:43:33 /
추천
0
그래서 대소문자 중요합니다. 처음부터 원칙을 지켜서 개발하면 리눅스던지 윈도우던지 문제 없이 소스가 돌아갑니다. ^^
|
display_error() 가 어느 패키지에서 나오는 함수인지요?
기본 함수는 아닌것 같은데
---------
helper('해당 함수가있는 헬퍼파일')