이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증
글 생성과 글 수정시 아무것도 없는 글은 일기로써 의미가 없다.
즉 한글자 이상의 글자가 입력되어야 한다.
이처럼 원래 만든 의도와는 다르게 작동되는 것을 막기 위해서
* 설계 의도에 맞도록 사용자가 입력했는가.
를 확인하는 것을 유효성 검증이라고 한다.
2015년 1월 9일 금요일
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증
사용자측에서 서버로 데이터를 보내기 전에 한번 검증한 후 보낸다.
클라이언트 유효성을 검사하기 위해서는 자바스크립트를 사용한다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증
사용자측에서 서버로 데이터를 보내기 전에 한번 검증한 후 보낸다.
클라이언트 유효성을 검사하기 위해서는 자바스크립트를 사용한다.
php 간단 일기장 - 유효성 검증 - 서버 유효성 검증
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 서버 유효성 검증
클라이언트 사이드에서 유효성 검증을 했다고 해도 다른 방식으로 오염된 데이터가 넘어올 가능성은 얼마든지 있다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 서버 유효성 검증
클라이언트 사이드에서 유효성 검증을 했다고 해도 다른 방식으로 오염된 데이터가 넘어올 가능성은 얼마든지 있다.
따라서 클라이언트 검증 후에 서버에서 동일하게 유효성을 한번 더 검증할 필요가 있다.
php 간단 일기장 - 유효성 검증 - 서버 유효성 검증 - 글 생성 / 수정하기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 서버 유효성 검증 - 글 생성 / 수정하기
글 생성 파일
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 서버 유효성 검증 - 글 생성 / 수정하기
요구사항
- 글 쓰기와 글 수정에서 Contents 는 1글자 이상 들어가야 한다.
- 글 수정에서 diary_id 는 데이터베이스의 타입과 일치해야 하므로 숫자여야 한다.
시나리오
글 생성 / 수정시 contents가 1글자 이상인지 확인한다.
따라서 이러한 논리는 생성 / 수정이 실제 처리되는 페이지에 추가되어야 한다.
글 수정시 diary_id 가 숫자인지 확인해야 한다.
글 생성 / 수정시 contents가 1글자 이상인지 확인한다.
따라서 이러한 논리는 생성 / 수정이 실제 처리되는 페이지에 추가되어야 한다.
글 수정시 diary_id 가 숫자인지 확인해야 한다.
논리 변경
기존논리
(수정일 경우) diary_id 를 클라이언트에서 전송받아 $diary_id 라고 이름붙인다.
contents 를 클라이언트에서 전송받아 $contents 라고 이름붙인다.
데이터베이스에 연결해서 $contents 의 값을 데이터베이스에 넣는다.
diarylist 로 이동한다.
변경논리
(수정일 경우) diary_id 를 클라이언트에서 전송받아 $diary_id 라고 이름붙인다.
(수정일 경우) $diary_id 의 타입을 구해서 $diary_id_type 이라는 이름을 붙인다.
(수정일 경우) $diary_id_type 이 정수(integer) 타입인지 확인한다.
(수정일 경우) $diary_id 가 정수가 아닐 경우 아래 논리를 실행하지 않고 바로 diarylist.php 로 이동한다.
contents 를 클라이언트에서 전송받아 $contents 라고 이름붙인다.
글자의 길이를 확인하고 0글자일 경우 데이터베이스에 넣지 않고 diarylist 로 이동한다.
1글자 이상일 경우 데이터베이스에 연결해서 $contents 의 값을 데이터베이스에 넣는다.
diarylist 로 이동한다.
(수정일 경우) diary_id 를 클라이언트에서 전송받아 $diary_id 라고 이름붙인다.
contents 를 클라이언트에서 전송받아 $contents 라고 이름붙인다.
데이터베이스에 연결해서 $contents 의 값을 데이터베이스에 넣는다.
diarylist 로 이동한다.
변경논리
(수정일 경우) diary_id 를 클라이언트에서 전송받아 $diary_id 라고 이름붙인다.
(수정일 경우) $diary_id 의 타입을 구해서 $diary_id_type 이라는 이름을 붙인다.
(수정일 경우) $diary_id_type 이 정수(integer) 타입인지 확인한다.
(수정일 경우) $diary_id 가 정수가 아닐 경우 아래 논리를 실행하지 않고 바로 diarylist.php 로 이동한다.
contents 를 클라이언트에서 전송받아 $contents 라고 이름붙인다.
글자의 길이를 확인하고 0글자일 경우 데이터베이스에 넣지 않고 diarylist 로 이동한다.
1글자 이상일 경우 데이터베이스에 연결해서 $contents 의 값을 데이터베이스에 넣는다.
diarylist 로 이동한다.
글 생성 파일
writesubmit.php를 수정한다.
글 생성 검증 코드
생성시 클라이언트에서 전송받은 값을 $contents 라고 이름붙인 후에 아래 코드 추가
if (count($contents) == 0)
{
header("Location: diarylist.php");
}
글 수정 파일
editsubmit.php로 수정한다.
수정시 클라이언트에서 diary_id와 contents 를 전송받는다.
각각 $diary_id , $contents 라고 이름붙인 다음 아래 코드를 추가한다.
$diary_id_type = gettype($diary_id);
if ($diary_id_type != 'integer')
{
header("Location: diarylist.php");
}
else if (count($contents) == 0)
{
header("Location: diarylist.php");
}
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증 - 글 생성 / 수정하기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증 - 글 생성 / 수정하기
요구사항
글 쓰기와 글 수정에서 Contents 는 1글자 이상 들어가야 한다.
시나리오
contents 에 id 붙이기
diaryedit.php
diarywrite.php
파일에서
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 유효성 검증 - 클라이언트 유효성 검증 - 글 생성 / 수정하기
요구사항
글 쓰기와 글 수정에서 Contents 는 1글자 이상 들어가야 한다.
시나리오
- 글 생성 / 수정시 값을 서버로 보내기 위해서는 유저가 input submit 버튼을 눌러야 한다.
- 버튼이 눌릴 때 Contents 가 1글자 이상인지 자바스크립트로 체크한다.
- Contents 의 길이를 체크해야 하기 때문에 자바스크립트에서 contents 를 식별할 수 있어야 한다. 따라서 contents 에 id 항목을 넣는다.
- 실제로 Contents가 1글자 이상인지 체크하는 자바스크립트 함수를 만든다.
- 버튼이 클릭될 때 자바스크립트 함수가 작동할 수 있도록 이벤트를 추가한다.
contents 에 id 붙이기
diaryedit.php
diarywrite.php
파일에서
<textarea name="contents" rows="3" cols="50">
부분을
<textarea name="contents" id="contents" rows="3" cols="50">
처럼 바꾼다.
Contents 길이 체크 자바스크립트 함수 만들기
코드
<script type="text/javascript">
function checkContentsLength()
{
var contents = document.getElementById('contents');
var contentsValue = contents.value;
if (contentsValue.length == 0) {
alert('contents length is 0.');
return false;
}
else
{
return true;
}
}
</script>
html 태그의 <head>와 </head> 사이에 넣는다.
작동설명
- html 문서 내에서 contents 라는 id 를 가진 태그를 가지고 와서 contents 라고 이름붙인다.
- contents 태그에는 '값' 말고도 'id'나 'name', 혹은 rows 같은 여러가지 Attribute 들이 있다. 이 중에서 '값'을 가지고 오기 위해서는 contents.value 라고 써야 한다.
contents 의 '값' 에 contentsValue 라는 이름을 붙인다. - 만약 contents 값의 글자수가 0 이면 경고를 띄우고 false를 반환한다.
- 만약 contents 값의 글자수가 0이 아니면 true를 반환한다.
diaryedit.php diarywrite.php 파일을 수정 후 저장한다.
2015년 1월 8일 목요일
php 간단 일기장 - 로그인 상태 체크
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 로그인 상태 체크
이 상태대로라면 주소만 알고 있으면 로그인 필요없이 아무나 들어올 수 있게 된다.
따라서 각 페이지마다 로그인되어 있는지 체크하고 로그인되어있지 않으면 로그인페이지로 이동하는 것이 필요하다.
로그인 처리시에
logincomplete 라는 쿠키값이 true 일 경우 로그인인 것으로 처리했다.
따라서 logincomplete 라는 값이 있고 그 값이 true인지 살펴본다.
맞다면 그냥 절차를 진행하고, 맞지 않다면 로그인 페이지로 이동한다.
코드
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 로그인 상태 체크
이 상태대로라면 주소만 알고 있으면 로그인 필요없이 아무나 들어올 수 있게 된다.
따라서 각 페이지마다 로그인되어 있는지 체크하고 로그인되어있지 않으면 로그인페이지로 이동하는 것이 필요하다.
로그인 처리시에
logincomplete 라는 쿠키값이 true 일 경우 로그인인 것으로 처리했다.
따라서 logincomplete 라는 값이 있고 그 값이 true인지 살펴본다.
맞다면 그냥 절차를 진행하고, 맞지 않다면 로그인 페이지로 이동한다.
코드
<?php
$islogined = false;
if (isset($_COOKIE['logincomplete']))
{
if ($_COOKIE['logincomplete'] == 'true')
{
$islogined = true;
}
}
if ($islogined == false)
{
header("Location: loginform.php");
}
?>
chklogin.php 로 저장한다.
php 간단 일기장 - 로그인 페이지 include
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 로그인 페이지 include
chklogin.php 가 작동되는 것을 확인했다고 해서 모든 페이지에 Copy & Paste 하는 것은 비효율적이다.
또한 만약 로그인 조건이 바뀔 경우 모든 파일을 다 변경해야 하는 문제가 생긴다,
따라서 include 를 사용해서 같은 코드를 공유한다.
코드
라는 내용을 추가한다.
이렇게 되면 각 페이지의 논리가 실행되기 전에 로그인이 먼저 체크된다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 로그인 페이지 include
chklogin.php 가 작동되는 것을 확인했다고 해서 모든 페이지에 Copy & Paste 하는 것은 비효율적이다.
또한 만약 로그인 조건이 바뀔 경우 모든 파일을 다 변경해야 하는 문제가 생긴다,
따라서 include 를 사용해서 같은 코드를 공유한다.
- diarylist.php
- diarywrite.php
- writesubmit.php
- diaryedit.php
- editsubmit.php
- deletesubmit.php
코드
<?php
include('chklogin.php');
?>
라는 내용을 추가한다.
이렇게 되면 각 페이지의 논리가 실행되기 전에 로그인이 먼저 체크된다.
2015년 1월 7일 수요일
php 간단 일기장 - 글 삭제하기 - 처리페이지 만들기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 삭제하기 - 처리페이지 만들기
글 삭제는 특별한 화면이 필요 없이 삭제만 할 수 있으면 된다.
이때 일기장의 모든 페이지가 삭제되면 안되므로 페이지를 지정해 줄 필요가 있다.
따라서 삭제 처리페이지에서 필요한 값은 'diary_id'이다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 삭제하기 - 처리페이지 만들기
글 삭제는 특별한 화면이 필요 없이 삭제만 할 수 있으면 된다.
이때 일기장의 모든 페이지가 삭제되면 안되므로 페이지를 지정해 줄 필요가 있다.
따라서 삭제 처리페이지에서 필요한 값은 'diary_id'이다.
<?php
$diary_id = $_GET['diary_id'];
$db_host = "localhost";
$db_user = "php111";
$db_passwd = "php111";
$db_name = "phpdiary";
$conn = mysql_connect($db_host,$db_user,$db_passwd) or die ("데이터베이스 연결에 실패하였습니다!");
mysql_select_db($db_name, $conn);
mysql_query("set names utf8");
$query = "delete from diary where diary_id=" . $diary_id;
$result = mysql_query($query);
header("Location: diarylist.php");
?>
deletesubmit.php 로 저장한다.
2015년 1월 6일 화요일
php 간단 일기장 - 글 수정하기 - 화면 만들기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 수정하기 - 화면 만들기
글 수정은 글쓰기와 비슷하지만 한가지 차이가 있다.
바로 기존에 썼던 글이 보여야 한다는 것이다.
따라서 기존에 썼던 글을 가져와서 보여줘야 한다.
그렇다면 여러개의 글 중에서 어떤 글을 보여줘야 할지 알 필요가 있다.
우리는 이미 diary_id 라는 이름으로 각 일기장 페이지를 구분했으므로 이것을 이용해서 보여주기로 한다.
따라서 editsubmit.php 로 전달할 내용은
[contents]
[diary_id]
이다.
글 수정 화면이 보이기 위한 과정
글 수정 처리 페이지로 넘길 내용
글 수정 화면에서 수정 버튼이 클릭되었을 때 form 태그에 의해 editsubmit.php 로 이동한다.
이때 contents 만 editsubmit.php 로 전달되면 editsubmit.php 는 어떤 데이터를 수정해야 할 지 모르게 된다.
따라서 diary_id 도 같이 전달할 필요가 있다.
hidden 태그는 사용자에게 보이지는 않고 값을 가지고만 있는 html 태그이므로 hidden 태그에 diary_id 값을 넣어서 editsubmit.php 에 전달한다.
만약 diaryedit.php 에서 주소창 파라미터로 diary_id 가 전달되지 않았을 경우 editsubmit.php 에서도 diary_id 가 빈 값으로 나오게 된다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 수정하기 - 화면 만들기
글 수정은 글쓰기와 비슷하지만 한가지 차이가 있다.
바로 기존에 썼던 글이 보여야 한다는 것이다.
따라서 기존에 썼던 글을 가져와서 보여줘야 한다.
그렇다면 여러개의 글 중에서 어떤 글을 보여줘야 할지 알 필요가 있다.
우리는 이미 diary_id 라는 이름으로 각 일기장 페이지를 구분했으므로 이것을 이용해서 보여주기로 한다.
따라서 editsubmit.php 로 전달할 내용은
[contents]
[diary_id]
이다.
글 수정 화면이 보이기 위한 과정
- 웹브라우저 주소창에 GET 파라미터 중 diary_id 가 있는지 본다.
- 만약에 diary_id가 GET 파라미터 안에 있다면
- 데이터베이스에 접속한다.
- diary 테이블에서 diary_id가 get 파라미터 diary_id 인 것들을 가지고 온다.
- 만약 데이터베이스 쿼리 실행 결과 갯수가 1이라면 파라미터로 들어온 diary_id 와 데이터베이스의 데이터 중 diary_id가 일치하는 데이터가 있는 것이다.
- 일치한다면 그 데이터의 contents를 보여준다.
- 만약 diaryedit.php 에서 주소창 파라미터로 diary_id 가 전달되지 않았을 경우 editsubmit.php 에서도 diary_id 가 빈 값으로 나오게 된다.
글 수정 처리 페이지로 넘길 내용
글 수정 화면에서 수정 버튼이 클릭되었을 때 form 태그에 의해 editsubmit.php 로 이동한다.
이때 contents 만 editsubmit.php 로 전달되면 editsubmit.php 는 어떤 데이터를 수정해야 할 지 모르게 된다.
따라서 diary_id 도 같이 전달할 필요가 있다.
hidden 태그는 사용자에게 보이지는 않고 값을 가지고만 있는 html 태그이므로 hidden 태그에 diary_id 값을 넣어서 editsubmit.php 에 전달한다.
만약 diaryedit.php 에서 주소창 파라미터로 diary_id 가 전달되지 않았을 경우 editsubmit.php 에서도 diary_id 가 빈 값으로 나오게 된다.
<input type="hidden" name="diary_id" value="<?php echo $diary_id; ?>" />
코드
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form action="editSubmit.php" target="_self" method="post">
<textarea name="contents" rows="3" cols="50"><?php
$diary_id = '';
if (isset($_GET['diary_id']))
{
$diary_id = $_GET['diary_id'];
$db_host = "localhost";
$db_user = "php111";
$db_passwd = "php111";
$db_name = "phpdiary";
$conn = mysql_connect($db_host,$db_user,$db_passwd) or die ("데이터베이스 연결에 실패하였습니다!");
mysql_select_db($db_name, $conn);
mysql_query("set names utf8");
$query = 'select * from diary where diary_id=' . $diary_id;
$result = mysql_query($query);
$total = mysql_affected_rows();
if ($total == 1)
{
mysql_data_seek($result,0);
$r = mysql_fetch_array($result);
echo $r['contents'];
}
}
?></textarea>
<br/>
<input type="submit" value="수정" />
<input type="hidden" name="diary_id" value="<?php echo $diary_id; ?>" />
</form>
</body>
</html>
위 내용을
diaryedit.php 로 저장한다.
php 간단 일기장 - 글 수정하기 - 처리페이지 만들기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 수정하기 - 처리페이지 만들기
글 수정하기가 처리되는 과정.
diaryedit.php 파일에서 contents 와 diary_id를 editsubmit.php 로 전송한다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 수정하기 - 처리페이지 만들기
글 수정하기가 처리되는 과정.
diaryedit.php 파일에서 contents 와 diary_id를 editsubmit.php 로 전송한다.
- editsubmit.php 에서 contents와 diary_id 를 post 방식으로 받는다.
- contents 를 데이터 베이스에 저장하기 위해서
데이터베이스를 열고
update 쿼리를 실행하고
데이터베이스를 닫는다. - 저장이 완료되면 목록 페이지 (diarylist.php) 로 이동한다.
<?php
$diary_id = $_POST['diary_id'];
$contents = $_POST['contents'];
$db_host = "localhost";
$db_user = "php111";
$db_passwd = "php111";
$db_name = "phpdiary";
$conn = mysql_connect($db_host,$db_user,$db_passwd) or die ("데이터베이스 연결에 실패하였습니다!");
mysql_select_db($db_name, $conn);
mysql_query("set names utf8");
$query = "update diary set contents = '" . $contents . "' where diary_id=" . $diary_id;
$result = mysql_query($query);
header("Location: diarylist.php");
?>
editsubmit.php 로 저장한다.
2015년 1월 5일 월요일
php 간단 일기장 - 글쓰기 - 화면 만들기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글쓰기 - 화면 만들기
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글쓰기 - 화면 만들기
화면을 만들 때는 항상 어떤 데이터를 form에 담아서 실제 처리할 페이지로 전달할 것인가..를 생각해야 한다.
글 쓰기 같은 경우 [내용] 을 전달해야 하므로 Form 태그 안에 content 라는 이름의 textarea 를 설정한다.
코드
글 쓰기 같은 경우 [내용] 을 전달해야 하므로 Form 태그 안에 content 라는 이름의 textarea 를 설정한다.
코드
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form action="writesubmit.php" target="_self" method="post">
<textarea name="content" rows="3" cols="50">
</textarea>
<br/>
<input type="submit" value="저장" />
</form>
</body>
</html>
diarywrite.php 로 저장한다.
php 간단 일기장 - 글 쓰기 - 처리페이지 만들기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 쓰기 - 처리페이지 만들기
글 쓰기가 처리되는 과정.
diarywrite.php 파일에서 contents 를 writesubmit.php 로 전송한다.
writesubmit.php 에서 contents 를 받는다.
contents 를 데이터 베이스에 저장하기 위해서
데이터베이스를 열고
insert 쿼리를 실행하고
데이터베이스를 닫는다.
저장이 완료되면 목록 페이지 (diarylist.php) 로 이동한다.
코드
<?php
$contents = $_POST['contents'];
$db_host = "localhost";
$db_user = "php111";
$db_passwd = "php111";
$db_name = "phpdiary";
$conn = mysql_connect($db_host,$db_user,$db_passwd) or die ("데이터베이스 연결에 실패하였습니다!");
mysql_select_db($db_name, $conn);
mysql_query("set names utf8");
$query = "insert into diary (contents) values ('" . $contents . "')";
$result = mysql_query($query);
mysql_close();
header("Location: diarylist.php");
?>
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 쓰기 - 처리페이지 만들기
글 쓰기가 처리되는 과정.
diarywrite.php 파일에서 contents 를 writesubmit.php 로 전송한다.
writesubmit.php 에서 contents 를 받는다.
contents 를 데이터 베이스에 저장하기 위해서
데이터베이스를 열고
insert 쿼리를 실행하고
데이터베이스를 닫는다.
저장이 완료되면 목록 페이지 (diarylist.php) 로 이동한다.
코드
<?php
$contents = $_POST['contents'];
$db_host = "localhost";
$db_user = "php111";
$db_passwd = "php111";
$db_name = "phpdiary";
$conn = mysql_connect($db_host,$db_user,$db_passwd) or die ("데이터베이스 연결에 실패하였습니다!");
mysql_select_db($db_name, $conn);
mysql_query("set names utf8");
$query = "insert into diary (contents) values ('" . $contents . "')";
$result = mysql_query($query);
mysql_close();
header("Location: diarylist.php");
?>
2015년 1월 4일 일요일
php 간단 일기장 - 글 목록 - 삭제하기 링크 추가
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 목록 - 삭제하기 링크 추가
삭제페이지의 이름은 deletesubmit.php 라고 짓도록 하자.
이 때 파라미터는 diary_id 이다.
따라서 url의 형태는 deletesubmit.php?diary_id=[숫자]
가 된다.
코드
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 목록 - 삭제하기 링크 추가
삭제페이지의 이름은 deletesubmit.php 라고 짓도록 하자.
이 때 파라미터는 diary_id 이다.
따라서 url의 형태는 deletesubmit.php?diary_id=[숫자]
가 된다.
코드
<a href="deletesubmit.php?diary_id=<?php echo $r['diary_id']; ?>">삭제</a>
diarylist.php 를 수정해서 저장한다.
php 간단 일기장 - 글 목록 화면 만들기.
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 목록 화면 만들기.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 목록 화면 만들기.
먼저 어떻게 보일지 확인해보기 위해서 간단하게 html 만 작성한다.
각 영역은 div 안에 작성되어 있으며, div 안에 컨텐츠가 들어가게 된다.
각 영역은 div 안에 작성되어 있으며, div 안에 컨텐츠가 들어가게 된다.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<div>
이것은 첫번째 글입니다.
</div>
<div>
이것은 두번째 글입니다.
</div>
<div>
이것은 세번째 글입니다.
</div>
</body>
</html>
diarylist.php 로 저장한다.
php 간단 일기장 - 글 목록 DB에서 가져와서 보여주기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 목록 DB에서 가져와서 보여주기
데이터베이스에서글 목록을 가져와서 보여준다.
코드
글 내용을 보는 부분만 php 로 쓰여지고, 나머지 부분은 html 형식의 정적 페이지이다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 목록 DB에서 가져와서 보여주기
데이터베이스에서글 목록을 가져와서 보여준다.
코드
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
$db_host = "localhost";
$db_user = "php111";
$db_passwd = "php111";
$db_name = "phpdiary";
$conn = mysql_connect($db_host,$db_user,$db_passwd) or die ("데이터베이스 연결에 실패하였습니다!");
mysql_select_db($db_name, $conn);
mysql_query("set names utf8");
$query = 'select * from diary';
$result = mysql_query($query);
$total = mysql_affected_rows();
for ($i=0;$i<$total;$i++)
{
mysql_data_seek($result,$i);
$r = mysql_fetch_array($result);
?>
<div>
<?php
echo $r['contents'];
?>
</div>
<?php
}
mysql_close();
?>
</body>
</html>
코드설명
처음부터 <?php 가 나올때까지는 정적인 html 이다.
<?php 부터 ?> 까지는 php가 다루는 영역이다.
이 외에는 html 페이지이다.
글 목록 보기 - html 과 데이터베이스 부분을 합쳐놓으면 이렇게 된다.글 내용을 보는 부분만 php 로 쓰여지고, 나머지 부분은 html 형식의 정적 페이지이다.
페이지의 구성.
위 내용대로 diarylist.php 파일을 수정한다.
- html의 기본 구조인 doctype html head body가 정적인 페이지를 보여준다.
- <?php로 php를 연다
- php에서 데이터베이스에 접속하여 질의 결과를 가지고 온다.
- php 에서 반복문을 시작한다.
- ?> 로 php 를 닫는다.
- html로 정적인 div 여는 태그를 보여준다. 이 과정은 반복문 횟수만큼 반복된다.
- <?php로 php를 연다
- contents를 화면에 보여준다. 이 과정은 반복문 횟수만큼 반복된다.
- ?> 로 php 를 닫는다.
- html로 정적인 div 닫는 태그를 보여준다. 이 과정은 반복문 횟수만큼 반복된다.
- <?php로 php를 연다
- 반복문 블럭을 닫는다.
- 보여주는 영역이 끝났으므로 데이터베이스와의 연결을 종료한다.
- ?> 로 php 를 닫는다.
- body와 html을 닫는 부분 또한 정적인 페이지가 된다.
위 내용대로 diarylist.php 파일을 수정한다.
php 간단 일기장 - 글 목록 - 쓰기 링크 추가
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 삭제하기 - 쓰기 링크 추가
글 쓰기는 중요하므로 가장 위에 넣도록 하자.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 삭제하기 - 쓰기 링크 추가
글 쓰기는 중요하므로 가장 위에 넣도록 하자.
<body>
<a href="diarywrite.php">글쓰기</a>
a 태그 영역을 추가한다.
diarylist.php 를 수정해서 저장한다.
php 간단 일기장 - 글 목록 - 수정하기 링크 추가
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 목록 - 수정하기 링크 추가
수정페이지의 이름은 diaryedit.php 라고 짓도록 하자.
diarylist.php 에서 diaryedit.php 로 전달할 파라미터는 diary_id 이다.
따라서 url의 형태는 diaryedit.php?diary_id=[숫자]
가 된다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 목록 - 수정하기 링크 추가
수정페이지의 이름은 diaryedit.php 라고 짓도록 하자.
diarylist.php 에서 diaryedit.php 로 전달할 파라미터는 diary_id 이다.
따라서 url의 형태는 diaryedit.php?diary_id=[숫자]
가 된다.
php 간단 일기장 - 글 목록 화면의 전체 코드
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 목록 화면의 전체 코드
코드
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - 글 목록 화면의 전체 코드
코드
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body>
<a href="diarywrite.php">글쓰기</a>
<?php $db_host = "localhost"; $db_user = "php111"; $db_passwd = "php111"; $db_name = "phpdiary"; $conn = mysql_connect($db_host,$db_user,$db_passwd) or die ("데이터베이스 연결에 실패하였습니다!"); mysql_select_db($db_name, $conn); mysql_query("set names utf8"); $query = 'select * from diary'; $result = mysql_query($query); $total = mysql_affected_rows(); for ($i=0;$i<$total;$i++) { mysql_data_seek($result,$i); $r = mysql_fetch_array($result); ?> <div> <?php echo $r['contents']; ?>
<a href="diaryedit.php?diary_id=<?php echo $r['diary_id']; ?>">수정</a>
<a href="deletesubmit.php?diary_id=<?php echo $r['diary_id']; ?>">삭제</a>
</div>
<?php
}
mysql_close();
?>
</body>
</html>
diarylist.php 로 저장한다.
2015년 1월 3일 토요일
php 간단 일기장 - php 에서 데이터베이스와 연결 끊기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - php 에서 데이터베이스와 연결 끊기
데이터베이스에 명령을 내리고 나서 결과까지 가지고 오고 나면 데이터베이스와 볼 일은 끝났다. 볼 일이 끝나면 명시적으로 연결을 끊어줘서 이제 볼 일이 끝났다는 것을 알려주게 된다.
<?php
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 - php 에서 데이터베이스와 연결 끊기
데이터베이스에 명령을 내리고 나서 결과까지 가지고 오고 나면 데이터베이스와 볼 일은 끝났다. 볼 일이 끝나면 명시적으로 연결을 끊어줘서 이제 볼 일이 끝났다는 것을 알려주게 된다.
<?php
mysql_close();
?>
php 간단 일기장 -php 에서 데이터베이스의 결과값 가져오기
이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 -php 에서 데이터베이스의 결과값 가져오기
<?php
데이터베이스에 '쿼리' 로 명령을 내리고 나면 , 데이터베이스는 명령을 실행한 결과를 돌려준다.
결과는 $result 변수 안에 들어가게 된다.
이때 실행한 결과인 $result 변수는 Resource 타입이다.
주의해야 할 점은, 데이터베이스는 기본적으로 집합을 다룬다는 것이다.
즉 diary 테이블에서 모든 내용을 가져와 라고 명령했을 때, 특정한 조건이 없으므로 데이터베이스는 diary 테이블에 있는 모든 페이지의 정보를 돌려준다.
따라서 결과는 여러 페이지가 될 수 있다.
$result 값 예시.
diary_id contents write_date
1 [첫번째 데이터] 2014.03.26
2 [두번째 데이터] 2014.03.27
$total = mysql_affected_rows();
는 이렇게 데이터베이스가 돌려준 페이지가 몇 장인지 알려주는 함수이다.
아래 예시에 따르면 $total 은 2가 된다.
for ($i=0;$i<$total;$i++)
데이터베이스가 돌려준 결과의 갯수만큼 반복한다.
mysql_data_seek($result,$i);
$result 에는 데이터베이스에서 실행한 결과가 Resource 타입으로 들어간다. 이 Resource 안에는 여러개의 데이터가 있을 수 있으며, mysql_data_seek 명령어는 여러개의 데이터 중 하나의 데이터를 선택하라는 명령어이다.
반복문 안에 명령어가 있기 때문에 $i 는 페이지의 장 수만큼 변한다.
첫번째 반복에서는 결과값 중 첫번째 결과값을 선택하게 된다.
두번째 반복에서는 결과값 중 두번째 결과값을 선택하게 된다.
$r = mysql_fetch_array($result);
mysql_fetch_array 는 선택한 결과값을 배열로 변환하라는 함수다.
첫번째 반복일 때 $r의 값.
diary_id : 1
contents : 첫번째 데이터
write_date : 2014.03.26
1 : 1
2 : 첫번째 데이터
3 : 2014.03.26
두번째 반복일 때
diary_id : 2
contents : 두번째 데이터
write_date : 2014.03.27
1 : 2
2 : 두번째 데이터
3 : 2014.03.27
$r 의 값은 연관배열이다. 주목해야 할 점은 연관배열의 키가 '숫자', 그리고 '컬럼 이름' 이라는 것이다.
첫번째 데이터의 경우 $r의 값은
키 = 키 = 값
diary_id = 1 = 1
contents = 2 = 첫번째 데이터
write_date = 3 = 2014.03.26
형태를 띈다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!
php 간단 일기장 -php 에서 데이터베이스의 결과값 가져오기
<?php
$query = 'select * from diary';
$result = mysql_query($query);
$total = mysql_affected_rows();
for ($i=0;$i<$total;$i++)
{
mysql_data_seek($result,$i);
$r = mysql_fetch_array($result);
}
?>데이터베이스에 '쿼리' 로 명령을 내리고 나면 , 데이터베이스는 명령을 실행한 결과를 돌려준다.
결과는 $result 변수 안에 들어가게 된다.
이때 실행한 결과인 $result 변수는 Resource 타입이다.
주의해야 할 점은, 데이터베이스는 기본적으로 집합을 다룬다는 것이다.
즉 diary 테이블에서 모든 내용을 가져와 라고 명령했을 때, 특정한 조건이 없으므로 데이터베이스는 diary 테이블에 있는 모든 페이지의 정보를 돌려준다.
따라서 결과는 여러 페이지가 될 수 있다.
$result 값 예시.
diary_id contents write_date
1 [첫번째 데이터] 2014.03.26
2 [두번째 데이터] 2014.03.27
$total = mysql_affected_rows();
는 이렇게 데이터베이스가 돌려준 페이지가 몇 장인지 알려주는 함수이다.
아래 예시에 따르면 $total 은 2가 된다.
for ($i=0;$i<$total;$i++)
데이터베이스가 돌려준 결과의 갯수만큼 반복한다.
mysql_data_seek($result,$i);
$result 에는 데이터베이스에서 실행한 결과가 Resource 타입으로 들어간다. 이 Resource 안에는 여러개의 데이터가 있을 수 있으며, mysql_data_seek 명령어는 여러개의 데이터 중 하나의 데이터를 선택하라는 명령어이다.
반복문 안에 명령어가 있기 때문에 $i 는 페이지의 장 수만큼 변한다.
첫번째 반복에서는 결과값 중 첫번째 결과값을 선택하게 된다.
두번째 반복에서는 결과값 중 두번째 결과값을 선택하게 된다.
$r = mysql_fetch_array($result);
mysql_fetch_array 는 선택한 결과값을 배열로 변환하라는 함수다.
첫번째 반복일 때 $r의 값.
diary_id : 1
contents : 첫번째 데이터
write_date : 2014.03.26
1 : 1
2 : 첫번째 데이터
3 : 2014.03.26
두번째 반복일 때
diary_id : 2
contents : 두번째 데이터
write_date : 2014.03.27
1 : 2
2 : 두번째 데이터
3 : 2014.03.27
$r 의 값은 연관배열이다. 주목해야 할 점은 연관배열의 키가 '숫자', 그리고 '컬럼 이름' 이라는 것이다.
첫번째 데이터의 경우 $r의 값은
키 = 키 = 값
diary_id = 1 = 1
contents = 2 = 첫번째 데이터
write_date = 3 = 2014.03.26
형태를 띈다.
피드 구독하기:
글 (Atom)
이럴 경우 클라이언트 검증을 거치지 않고 서버로 데이터가 전달된다.