⊗ppPmSDDb 442 of 447 menu

PHP에서 데이터베이스 기반 엔진

이제 페이지 콘텐츠가 파일이 아닌 데이터베이스에 저장되는 사이트 엔진을 만들어 봅시다. 데이터베이스에 다음과 같은 테이블이 있다고 가정해 보겠습니다:

pages
id title content
1 title1 <div> content1 </div>
2 title2 <div> content2 </div>
3 title3 <div> content3 </div>

/page/1와 같은 URL로 페이지를 얻고 싶다고 가정해 봅시다. 여기서 숫자는 원하는 페이지의 id를 나타냅니다.

구현을 시작해 보겠습니다. 먼저 별도의 파일에서 데이터베이스 연결을 만들고 이 파일을 우리 파일에 연결하겠습니다:

<?php $link = require 'connect.php'; ?>

요청된 URL을 가져옵니다:

<?php $url = $_SERVER['REQUEST_URI']; ?>

정규 표현식을 사용하여 URL을 부분으로 나눕니다:

<?php preg_match('#/page/(\d+)#', $url, $match); ?>

캡처 그룹에서 id를 변수에 기록합니다:

<?php $id = $match[1]; ?>

데이터베이스에 쿼리를 실행하여 id로 요청된 페이지를 가져옵니다:

<?php $query = "SELECT * FROM pages WHERE id=$id"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); $page = mysqli_fetch_assoc($res); ?>

템플릿 파일을 가져옵니다:

<?php $layout = file_get_contents('layout.php'); ?>

템플릿 파일에서 제목과 콘텐츠를 삽입합니다:

<?php $layout = str_replace('{{ title }}', $page['title'], $layout); $layout = str_replace('{{ content }}', $page['content'], $layout); ?>

조립된 사이트 페이지를 브라우저로 보냅니다:

<?php echo $layout; ?>

모든 것을 모아서 다음 코드를 얻습니다:

<?php require 'connect.php'; $url = $_SERVER['REQUEST_URI']; preg_match('#/page/(\d+)#', $url, $match); $id = $match[1]; $query = "SELECT * FROM pages WHERE id=$id"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); $page = mysqli_fetch_assoc($res); $layout = file_get_contents('layout.php'); $layout = str_replace('{{ title }}', $page['title'], $layout); $layout = str_replace('{{ content }}', $page['content'], $layout); echo $layout; ?>

설명된 엔진을 구현하십시오. 작동을 확인하십시오.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부