728x90
반응형
목차
완성된 모습
투두리스트 페이지
<?php
session_unset();
session_start();
// 데이터베이스 연결
$db = mysqli_connect('localhost', 'root', '', 'userdata') or die ('Unable to connect. Check your connection parameters.');
// 추가 버튼이 클릭되었을 때 데이터 삽입
if(isset($_POST['submit'])){
$task = $_POST['toDo'];
$category = $_POST['Category'];
$id = $_SESSION['Login_id'];
$time = date("Y-m-d H:i:s");
$query = "INSERT INTO todotable (Login_todo_id, User_category, User_task, Create_date) VALUES ('$id','$category', '$task', '$time')";
mysqli_query($db, $query) or die(mysqli_error($db));
header("Location:UserWriteTodoList.php");
exit;
}
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Developer-community-login-page</title>
<link rel="stylesheet" href="reset.css" />
<link rel="stylesheet" href="UserWriteTodoList.css" />
<script type="text/javascript" src="TodoAdd.js"></script>
</head>
<body>
<header>
<div class="header-wrap">
<div class="main-log">
<img class="header-img" src="./img/sejonglogo.png" alt="LogoImg">
</div>
<div>
<?php
// 세션에 저장된 데이터 확인
if(isset($_SESSION['Login_id'])) {
echo $_SESSION['Login_id'];
} else {
echo "세션에 로그인 정보가 없습니다.";
}
?>
</div>
</div>
</header>
<div class="content-wrap">
<div class="login-wrap">
<div class="login-head">
Todo-List
</div>
<div class="input-wrap">
<input type="text" name="Category" placeholder="카테고리">
<input type="text" name="toDo" placeholder="할 일 추가하기">
<button type="submit" class="addButton" name="submit">추가</button>
</div>
<?php
// 데이터베이스에서 해당 사용자의 투두리스트 불러오기
$query = "SELECT * FROM todotable WHERE Login_todo_id='{$_SESSION['Login_id']}'";
$result = mysqli_query($db, $query);
// 투두리스트 항목 출력
while ($row = mysqli_fetch_assoc($result)) {
echo "<div class='toDoList'>";
echo "<input type='checkbox' name='completed[]'>";
echo "<span>{$row['User_task']}</span>";
echo "<div class='delete'>";
echo "<a href='DeleteTask.php?num={$row['User_task']}'>삭제</a>";
//데이터 삭제 버튼구현 방안
echo "</div>";
echo "</div>";
}
?>
<img class="content-img" src="./img/sejongwhite.png" alt="LogoImg">
</div>
</html>
주요 로직만 참고하고자 코드를 많이 생략했다.
삭제하기 위한 php링크 (DeleteTask.php)
<?php
session_start();
// 데이터베이스 연결
$db = mysqli_connect('localhost', 'root', '', 'userdata') or die ('Unable to connect. Check your connection parameters.');
// 삭제할 항목의 User_task 값을 GET 방식으로 받아옵니다.
$task_to_delete = $_GET['num'];
// 해당 User_task 값을 가진 레코드를 데이터베이스에서 삭제합니다.
$query = "DELETE FROM todotable WHERE User_task='$task_to_delete' AND Login_todo_id='{$_SESSION['Login_id']}'";
mysqli_query($db, $query) or die(mysqli_error($db));
header("Location:UserWriteTodoList.php");
exit;
?>
삭제하기 위한 로직으로 그 링크에 접속해서 데이터를 삭제해준 후 header로 리다이렉션 해준다.
반응형
'프로젝트 > php 미니 프로젝트' 카테고리의 다른 글
[php][미니 개발자 소통 커뮤니티] 최종 (0) | 2024.05.26 |
---|---|
[php] 공부 정리 게시물 올리기 (0) | 2024.05.25 |
[php][js] 로그인 , 회원가입 페이지에 부가 기능 넣기(비밀 번호 확인, 비밀번호 표시) (1) | 2024.05.17 |
[php] 게시판을 만들고 댓글 기능까지 구현해보자 (0) | 2024.05.16 |