Day 12(2025.07.05.SAT) - 프레임워크 


로컬(207)에서 127.0.0.1에 웹사이트 띄우기


XAMPP - apache2 On(Ubuntu2 80) - 127.0.0.1 접속


- editplus -

includes - db.php echo "Connected successfully"; 주석 처리

packet - read.php 생성 - index.php 복붙 - id  수정



/home/geumsol/public_html/includes
/home/geumsol/public_html/packet - read.php 붙여넣기


- read.php - 

로컬에서는 쿼리문 보여주려고 넣었지만 실제 업로드 할 때는 쿼리문 안보여줘도 됨(주석 처리)


id가 못넘어올 걸 대비하고 짷아놓은 코드(에러 방지 코드)

	
	if(!isset($id)){
		$id=100000;
	} else {
		$idx=$_GET['id'];
	}



hidden으로 넣어줘야 번호가 나옴



CREATE TABLE server ( 
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
df VARCHAR(30) NOT NULL, 
free VARCHAR(30) NOT NULL, 
port VARCHAR(30) NOT NULL, 
user VARCHAR(30) NOT NULL, 
cron VARCHAR(30) NOT NULL, 
backup VARCHAR(50),
memo VARCHAR(50), 
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);





- 프레임워크(기술) -


- 요즘 나오는 사이트에서 많이 사용
- 틀을 주고 나머지만 채우면 됨
- 클래스로 만들어져 있으므로 클래스 사용법을 알아야함
- 객체 만들어줘야함
- 사이트를 빨리 만들 수 있음
- 유지보수 가능
- 컨트롤러로 작동


포트폴리오에 프레임워크 종류별 장단점 적어놓으면 좋음

후이즈에서 ci4.geumsol.kr 변경

DNS에서 192.168.0.100으로 가라고 해놨음

main - 웹
ci4 - 프레임워크
dvw - 웹 취약점
워드프레스, gnu - cms




CREATE TABLE auth ( 
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(30) NOT NULL,
pswd VARCHAR(30) NOT NULL, 
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);


- 회원가입 - 

if (mysqli_query($conn, $query)) {

- 회원가입은 데이터베이스에 넣어줘야함
- db.php -> $conn: 데이터베이스 연결 포인트(바깥에 있어서 객체 만들 때 클래스 안에 넣어줘야함)
$auth = new Auth($conn);


- 생성자 -

-클래스 이름하고 똑같이 생긴 함수
-만들어줘야 작동하므로 안만들어주면 작동 되지 않음

	private $conn; #전역변수
	function __construct($conn)
	{
		echo "데이터베이스와 연결합니다.";
		$this->conn = $conn;
			
바깥에 있는 $conn을 셍성자를 사용하여 안쪽으로 넣어줌


Config > 환경설정
Controllers > 클래스(기능 담당, 폴더 앞글자가 대문자 - 클래스 ex) Auth.php)
Models > 데이터베이스 담당
View > php(화면담당)
=> MVC 패턴(Django CVM 패턴)
public(공용 폴더이므로 주로 이미지를 넣음)
폴더 앞글자가 대문자 - 클래스


system
tests
writable


IP100:~/home/geumsol/public_html에서 ci4 압축 풀어주기

cd /home - ls(lost+found) - mkdir master - cd master - mkdir public_html - cd public_html/ - ls - mkdir logs - cd logs - touch access.log - touch error.log - cd /etc/skel - ls - cd public_html - ls - mkdir logs - cd logs - touch access.log - touch error.log - cd /home