[TIL] 생활코딩 WEB2-PHP (21.08.20)

5992 단어 TIL생활코딩phpTIL

글 수정 (update)

✅ index.html

  • 업데이트 링크는 url id파라미터가 있을때만(if문) 생성한다.
  • 📌 업데이트 링크를 클릭했을때 우리가 수정을 하려면 수정하려고 하는 내용이 무엇인지를 알아야한다. 그래서 url로 현재 우리가 보고 있는 페이지에 대한 id값을 물고 들어가야한다.
    ※코드 중에 php echo는 "="로 대체가능하다.

✅ update.php

    <form action = "update_process.php" method="post">
        <input type="hidden" name="old_title" value="<?=$_GET['id']?>">
        <!--사용자에게는 노출하지않으면서 submit을 눌렀을때 액션이 가리키는
         애플리케이션으로 데이터를 전송하고 싶을때 hidden
        그리고 php echo를 쓸때 "="로 대체할 수 있다 -->
        <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>        
  • index.php를 복제해서 update.php를 만든 후 폼을 추가한다.
  • 텍스트필드에 원래의 내용이 들어가야되기때문에 각각의 함수를 이용해서 채운다.
  • 이전 파일명(old_title)에 대한 정보를 서버로 따로 보내줘야한다. hidden태그를 이용하면 사용자에게는 노출하지 않으면서 submit을 눌렀을때 액션이 가리키는 어플리케이션으로 데이터를 전송할 수 있다. value값으로 현재의 id값을 준다.
  • php echo를 쓸때 "="로 대체했다.

✅ update_process.php

  • rename(이전 파일이름, 변경하려는 파일이름)에서 $_POST['title']은 변경하려는 파일이름이므로 두번째 인자로 와야한다. 첫번째 인자에서는 $_POST['old_title']로 이전 파일이름을 입력한다.
  • file_put_contents(data 디렉토리 안에 새롭게 변경된 파일 이름, 새로운 description)
  • header를 이용해서 변경된 페이지로 바로 이동.

좋은 웹페이지 즐겨찾기