만들면서 배우는 CodeIgniter Q&A

제목 코드이그나이터 처음 배우는 초보입니다.
글쓴이 맑게웃는해 작성시각 2017/09/07 16:02:07
댓글 : 9 추천 : 0 스크랩 : 0 조회수 : 12263   RSS

p.57진행중 오류 페이지가 나오는데 검색을 해도 해결방법을 찾지못하여 글을 작성합니다.

 

오류 내용은 아래와 같습니다.

 

An uncaught Exception was encountered

Type: ParseError

Message: syntax error, unexpected ''BASEPATH'' (T_CONSTANT_ENCAPSED_STRING)

Filename: C:\xampp\htdocs\todo\application\controllers\main.php

Line Number: 1

Backtrace:

File: C:\xampp\htdocs\todo\index.phpLine: 315Function: require_once 

 

사용중인 OS는 윈도우10이며, xampp버전은 7.1.7이며, 코드이그나이터는 3.1.5입니다.

 다음글 모델 호출에서 에러가 납니다. (3)
 이전글 write_v 관련 질문입니다. (1)

댓글

변종원(웅파) / 2017/09/07 17:35:59 / 추천 0

BASEPATH는 index.php 파일에서 선언하는 상수입니다.

제대로 설치가 됐다면 나올 수 없는 에러입니다. 혹시 main 파일을 직접 접근한건 아닌지요?

도메인/application/controller/main.php 이런 형태로요.

만약 그렇다면 매뉴얼 보시고 컨트롤러와 주소가 어떻게 연결되는지 보시기 바랍니다. ^^

맑게웃는해 / 2017/09/07 18:29:31 / 추천 0

파일은 다 확인하였는데 틀린 부분이 없고

접속 주소는 http://localhost/todo/index.php/main/ 이렇게 접속하였습니다.

어느 부분이 문제인지 전혀 모르겠네요ㅠ

변종원(웅파) / 2017/09/07 22:35:48 / 추천 0

맑게웃는해/ 그럼 57페이지 앞쪽은 이상 없이 진행이 됐다는거네요.

main.php 컨트롤러 소스를 올려주세요.

맑게웃는해 / 2017/09/10 09:31:33 / 추천 0
<?php if ( ! defined'BASEPATH')) exit('No direct script access allowed');
/**
* todo 컨트롤러
*/
class Main extends CI_Controller {
 
function _ _construct()
{
parent::_ _construct();
$this->load->database();
$this->load->model('todo_m');
$this->load->helper(array('url','date'));
}
/**
* 주소에서 매서드가 생략되었을 때 실행되는 기본 매서드
*/
public function index()
{
$this->lists();
}
 
/**
*todo 목록
*/
public function lists()
{
$data['list']=$this->todo_m->get_list();
 
$this->load->view('todo/list_v', $data);
}
}
 
/* End of file main.php*/
/* Location: ./application/controllers/main.php */

 

요청하신 C:\xampp\htdocs\todo\application\controllers

main.php 소스 올려드립니다.

변종원(웅파) / 2017/09/10 17:53:34 / 추천 0

첫줄에 뭔가 빠졌네요. ㅎㅎ

<?php if ( ! defined'BASEPATH')) exit('No direct script access allowed');  

defined는 함수입니다.

맑게웃는해 / 2017/09/10 19:23:14 / 추천 0

정말 죄송한데 어떤 부분이 잘못되었는지 잘 모르겠습니다ㅠ

제가 올려드린 main.php소스 첫 줄에

<?php if ( ! defined'BASEPATH')) exit('No direct script access allowed');  

있는데 어떤 부분이 잘못되었나요?ㅠ

컴삿갓 / 2017/09/11 08:53:39 / 추천 0
<?php defined('BASEPATH') OR exit('No direct script access allowed');
맑게웃는해 / 2017/09/12 10:09:46 / 추천 0
컴삿갓님이 올려주신걸로 하여도 똑같은 오류메시지가 뜨네요ㅠ;
변종원(웅파) / 2017/09/12 10:51:39 / 추천 0

맑게웃는해/ 똑같은 에러가 뜰 수가 없습니다. 함수 사용법이 틀려서 에러가 난 것인데 함수를 제대로 사용했는데

똑같은 오류가 뜬다는 것이... ^^;

책 서문 맨 하단에 한빛미디어 소스 다운로드 주소가 있습니다. 거기서 소스 받아서 복사해넣고 테스트 해보세요.

참고로 ci2 버전과 ci3 버전의 차이가 3은 컨트롤러, 모델 파일이 대문자이어야 합니다. (윈도우 환경이 무시가 되겠지만 규칙은 지켜주시는 것이..)

책은 ci2 버전을 기준으로 작성되었습니다.