PHP는 웹 개발에서 매우 인기 있는 프로그래밍 언어로, 다양한 동적 웹사이트를 만드는 데 사용할 수 있습니다. 그 중 사용자 로그인 및 기사 게재 기능 구현은 매우 기본적인 기능이자, PHP 학습의 입문 부분 중 하나이기도 합니다. 이 기사에서는 PHP를 사용하여 이 두 가지 기능을 구현하는 방법을 소개합니다.
사용자 로그인은 웹 애플리케이션의 매우 기본적인 기능으로, 사용자는 사용자 이름과 비밀번호를 입력하여 계정 정보에 액세스하고 관리할 수 있습니다. 다음은 사용자 로그인을 구현하는 단계입니다.
1.1 데이터베이스 생성
먼저 MySQL 데이터베이스에 사용자 정보를 저장할 테이블을 생성해야 합니다. 다음은 예제 테이블의 구조입니다.
CREATE TABLE users (
id INT(11) NOT NULL AUTO_INERMENT, username VARCHAR(30) NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(50) NOT NULL, PRIMARY KEY(id)
);
이 테이블에서는 id 필드를 기본 키로 사용하여 각 사용자의 고유 식별자를 저장합니다. 사용자의 사용자 이름, 비밀번호, 이메일 주소도 테이블에 저장됩니다.
1.2 로그인 양식 만들기
다음으로 사용자가 사용자 이름과 비밀번호를 입력할 수 있는 로그인 양식을 만들고 싶습니다. 사용자가 양식을 제출하면 PHP를 사용하여 이를 인증할 수 있습니다.
다음은 기본 로그인 양식에 대한 코드입니다.
위 코드에서 A를 정의합니다. 사용자 이름과 비밀번호 입력 상자를 포함하고 양식의 제출 주소를 "login.php"로 지정하는 양식입니다.
1.3 사용자 신원 확인
사용자가 양식을 제출하면 PHP를 사용하여 신원을 확인해야 합니다. 로그인 요청을 처리하기 위해 "login.php"라는 새 파일을 만들 수 있습니다. 다음은 파일에 있어야 하는 코드입니다:
//데이터베이스에 연결
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB ";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//사용자 이름 가져오기
$username = $_POST["username"];
$password = $_POST["password"];
//사용자를 쿼리하기 위한 데이터베이스 쿼리
$sql = "SELECT * FROM users WHERE username= '$username' AND 비밀번호= '$password'";
$result = $conn->query($sql);
//사용자 시스템이 존재하는 경우 SESSION에 추가한 후 홈페이지로 리디렉션
if ($result-> ;num_rows == 1) {
session_start(); $_SESSION["username"] = $username; header("Location: index.php"); exit;
} else {
echo "Invalid username or password.";
}
$conn->close();
?>
위 코드에서 우리는 먼저 그런 다음 양식 값으로 입력을 가져오고 해당 사용자에 대한 데이터베이스를 쿼리합니다. 사용자가 존재하는 경우 나중에 사용할 수 있도록 SESSION에 추가한 후 홈 페이지로 리디렉션합니다. 그렇지 않으면 사용자에게 오류 메시지가 표시됩니다.
사용자가 로그인하면 웹 사이트에 새 기사를 게시할 수 있습니다. 이 기능을 구현하는 단계는 다음과 같습니다.
2.1 기사 테이블 만들기
먼저 데이터베이스에 기사를 저장할 새 양식을 만들어야 합니다. 다음은 예제 양식의 구조입니다.
CREATE TABLE 게시물 (
id INT(11) NOT NULL AUTO_INERMENT, title VARCHAR(255) NOT NULL, content TEXT NOT NULL, author VARCHAR(30) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY(id)
);
이 테이블에서는 id 필드를 기본 키로 사용하여 각 게시물의 고유 식별자를 저장합니다. 기사의 제목, 내용, 작성자도 테이블에 저장됩니다.
2.2 게시물 양식 만들기
다음으로 사용자가 기사의 제목과 내용을 입력할 수 있는 게시물 양식을 만들어야 합니다. 사용자가 양식을 제출하면 PHP를 사용하여 기사 정보를 데이터베이스에 저장할 수 있습니다.
다음은 기본 게시물 양식에 대한 코드입니다.
위 코드에서 A를 정의합니다. 기사 제목과 내용 입력 상자를 포함하고 양식의 제출 주소를 "save_post.php"로 지정하는 양식입니다.
2.3 기사 정보를 데이터베이스에 저장
사용자가 양식을 제출하면 기사 정보를 데이터베이스에 저장하기 위해 PHP를 사용해야 합니다. 이 요청을 처리하기 위해 "save_post.php"라는 새 파일을 만들 수 있습니다. 다음은 파일에 있어야 하는 코드입니다:
//데이터베이스에 연결
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB ";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//기사 정보 가져오기 from the form
$ title = $_POST["title"];
$content = $_POST["content"];
$author = $_SESSION["username"];
//기사 정보를 데이터베이스에 저장
$sql = " 게시물에 삽입(제목, 내용, 작성자) VALUES ('$title', '$content', '$author')";
if ($conn->query($sql) === TRUE ) {
header("Location: index.php"); exit;
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
위 코드에서는 먼저 데이터베이스에 연결한 후 기사 정보를 양식으로 가져와 데이터베이스에 저장합니다. 기사가 성공적으로 저장되면 홈 페이지로 리디렉션됩니다. 그렇지 않으면 사용자에게 오류 메시지가 표시됩니다.
요약
이 기사에서는 PHP를 사용하여 사용자 로그인 및 기사 게시 기능을 구현하는 방법을 소개했습니다. 먼저 사용자 정보와 기사 정보를 저장하기 위해 새 데이터베이스 테이블을 만든 다음 해당 로그인 및 기사 게시 양식을 만들었습니다. 마지막으로 PHP를 사용하여 사용자 로그인 정보를 확인하고 기사 정보를 데이터베이스에 저장합니다. 이러한 기본 기능을 구현하는 것은 PHP 프로그래밍을 배우는 중요한 단계이며, 초보자에게 도움이 되기를 바랍니다.
위 내용은 PHP에서 로그인을 구현하고 기사 기능을 게시하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!