728x90
반응형
목차
완성한 모습
주석을 달아서 주요 로직은 설명했다
코드가 너무 길어서 필요한 부분만 따로 뺸 것이므로 참고하고 수정하면 좋을 것 같다.
html폼 작성 코드
<form method="post" enctype="multipart/form-data" action=""> //이미지 삽입을 해서 enctype써야함
<div class="form-group">
<label for="userCategory">User Category</label>
<input type="text" class="form-control" id="userCategory" name="user_category" required>
</div>
<div class="form-group">
<label for="userContent">User Content</label>
<textarea class="field-control" id="userContent" name="user_content" required></textarea>
</div>
<div class="form-group">
<label for="userSummary">User Summary</label>
<textarea class="field-control" id="userSummary" name="user_summary" required></textarea>
</div>
<div class="form-group">
<label for="image">Image</label>
<input type="file" class="form-control-file" id="image" name="image" required>
</div>
<button type="submit" class="btn btn-custom btn-block" name="submit">추가</button>
</form>
php데이터 등록 코드
<?php
session_unset(); //세션 변수 초기화
session_start(); //세션 시작
// 데이터베이스 연결
$db = mysqli_connect('localhost', 'root', '', 'userdata') or die ('Unable to connect. Check your connection parameters.');
// 추가 버튼이 클릭되었을 때
if(isset($_POST['submit'])){
$id = $_SESSION['Login_id']; //세션에서 아이디를 가져온다
$category = $_POST['user_category']; //버튼을 누렀을 시 post data를 가져온다
$content = $_POST['user_content'];
$summary = $_POST['user_summary'];
$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); //php로 이미지 가져오는 코드
$time = date("Y-m-d H:i:s"); //현재 시간 데이터로 저장
//cehck_query로 내가 원하는 곳에 데이터를 넣어준다
$check_query = "SELECT Study_id FROM tostudytable WHERE Login_study_id = '$id' ORDER BY SID DESC LIMIT 1";
$result = mysqli_query($db, $check_query);
$row = mysqli_fetch_assoc($result);
$user_id = $row['Study_id'] ?? 0;
$user_id++; // Increment the User_id
//데이터를 나의 테이블에 넣어준디
$query = "INSERT INTO tostudytable (Login_study_id, Study_id, User_category, User_content, User_summary, Image, Create_date) VALUES ('$id','$user_id','$category', '$content','$summary', '$image','$time')";
mysqli_query($db, $query) or die(mysqli_error($db)); //console.log와 같은 역할
header("Location:../board/TodoBoardPage.php");
exit; //세션에서 나가준다
}
?>
php로 데이터 표시 코드
<div class="container">
<?php
$login_board_id = $_GET['Login_board_id']; //그 유저의 아이디
$User_id = $_GET['User_id']; //게시물 번호
//게시판에서 링크를 눌렀을 떄 카테고리와 아이디가 일치하는 게시물을 가져온다
$query = "SELECT * FROM tostudytable WHERE Login_study_id = '$login_board_id' AND Study_id = '$User_id'";
$result = mysqli_query($db, $query) or die(mysqli_error($db));
while ($row = mysqli_fetch_assoc($result)): ?>
<div class="card">
<img src="data:image/jpeg;base64,<?php echo base64_encode($row['Image']); ?>" alt="User Image">
<h1>-<?php echo htmlspecialchars($row['User_category']); ?>-</h1>
<p></p>
<h1>내용</h1>
<div class="card-content"><?php echo htmlspecialchars($row['User_content']); ?></div>
<h1>요약</h1>
<div class="card-content"><?php echo htmlspecialchars($row['User_summary']); ?></div>
<p class="date"><?php echo htmlspecialchars($row['Create_date']); ?></p>
</div>
<?php endwhile; ?>
</div>
반응형
'프로젝트 > php 미니 프로젝트' 카테고리의 다른 글
[php][미니 개발자 소통 커뮤니티] 최종 (0) | 2024.05.26 |
---|---|
[php][js] 로그인 , 회원가입 페이지에 부가 기능 넣기(비밀 번호 확인, 비밀번호 표시) (1) | 2024.05.17 |
[php] 게시판을 만들고 댓글 기능까지 구현해보자 (0) | 2024.05.16 |
[php] 투두리스트 데이터를 추가해보자 (0) | 2024.05.15 |