글생성

 

create.php 파일을 만들어 준다

 

<?php
function print_title(){
  if(isset($_GET['id'])){
    echo $_GET['id'];
  } else{
    echo "Welcome";
  }
}
function print_description(){
  if(isset($_GET['id'])){
    echo file_get_contents("data/".$_GET['id']);
  } else {
    echo "Hello, PHP";
  }
}
function print_list(){
  $list = scandir('./data');
  $i = 0;
  while($i < count($list)){
    if($list[$i] != '.'){
      if($list[$i] != '..') {
        echo "<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n";
      }
    }
    $i = $i + 1;
  }
}
?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>
      <?php
      print_title();
      ?>
    </title>
  </head>
  <body>
    <h1><a href="index.php">WEB</a></h1>
    <ol>
      <?php
      print_list();
      ?>
    </ol>
    <a href="create.php">create</a>
    <form action="create_process.php" method="post">
      <p>
        <input type="text" name="title" placeholder="Title">
      </p>
      <p>
        <textarea name="description"
        placeholder="Description"></textarea>
      </p>
      <p>
        <input type="submit">
      </p>
    </form>
  </body>
</html>

 

create에서 제출버튼을 누르면 create_process.php로 링크가 옮겨지고 post방식으로 전송한다

 

이제 create_process.php 파일을 만들어보자

 

<?php
file_put_contents('data/'.$_POST['title'], $_POST['description']);
header('Location: /index.php?id='.$_POST['title']);
?>

파일을 입력받은 제목 본문으로 만들어주고

 

만들게되면 주소를 그 파일의 제목값으로 보내버린다

 

글수정

 

    <?php if(isset($_GET['id']))  { ?>
    <a href="update.php?id=<?php echo $_GET['id']; ?>">update</a>
    <?php } ?>

업데이트는 어떤 자료를 클릭했을 때 나와야 하므로 if문으로 id값이 존재할 때 띄우도록 하였다

 

이제 업데이트 버튼을 누르면 update.php?id=id값으로 이동할 것이다

 

<?php
function print_title(){
  if(isset($_GET['id'])){
    echo $_GET['id'];
  } else{
    echo "Welcome";
  }
}
function print_description(){
  if(isset($_GET['id'])){
    echo file_get_contents("data/".$_GET['id']);
  } else {
    echo "Hello, PHP";
  }
}
function print_list(){
  $list = scandir('./data');
  $i = 0;
  while($i < count($list)){
    if($list[$i] != '.'){
      if($list[$i] != '..') {
        echo "<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n";
      }
    }
    $i = $i + 1;
  }
}
?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>
      <?php
      print_title();
      ?>
    </title>
  </head>
  <body>
    <h1><a href="index.php">WEB</a></h1>
    <ol>
      <?php
      print_list();
      ?>
    </ol>
    <a href="create.php">create</a>
    <?php if(isset($_GET['id']))  { ?>
    <a href="update.php?id=<?= $_GET['id']; ?>">update</a>
    <?php } ?>

     <form action="update_process.php" method="post">
       <input type="hidden" name="old_title" value="<?=$_GET['id']?>">
       <p>
         <input type="text" name="title" placeholder="Title" value="<?php print_title(); ?>">
       </p>
       <p>
         <textarea name="description"
         placeholder="Description"><?php print_description(); ?></textarea>
       </p>
       <p>
         <input type="submit">
       </p>
     </form>
  </body>
</html>

update를 누를 시

 

제목과 본문이 그대로 수정할 수 있게 값이 입력되어져 있을 것이다

 

그리고 rename을 위해서 hidden타입으로 옛 제목을 만들어주고

 

짧은태그로 <?= 를 사용해주었다 이는 <?php echo 와 같은 뜻이다

 

update_process를 보자

 

<?php
  rename('data/'.$_POST['old_title'], 'data/'.$_POST['title']);
  file_put_contents('data/'.$_POST['title'], $_POST['description']);
  header('Location: /index.php?id='.$_POST['title']);
?>

rename을 통해서 이름을 바꾸어주고

 

파일을 만들어주고

 

그 아이디에 맞는 주소로 이동하게 된다

 

'휴지통 > PHP' 카테고리의 다른 글

공부(10)  (0) 2021.09.07
공부(9)  (0) 2021.09.07
공부(7)  (0) 2021.09.07
공부(6)  (0) 2021.09.06
공부(5)  (0) 2021.09.06

+ Recent posts