write.php 파일을 열어서
javascript에 submit 부분의 action 을 수정합니다.
insert.php 파일에서는
이렇게 입력한 후
http://127.0.0.1/myadmin/index.php
여기에서 db 테이블 만든
itmembers의
bbs 에서 보기를 눌러서 데이타를 확인해 보면
값이 들어왔는데 안 들어왔는지 알 수 있습니다..
아 그런데 여전히 데이타가 안 넘어 오는데..
이걸 잡고 진행을 해야 할지.. 이거 원.. ㅠㅡ,.ㅠ
=================================================
naver 검색 결과
$_POST["name"] 요로코롬 입력을 해줘야 하는거였습니다!!
그러니까능 제가 get으로 넘겨봤는데 url 상에서는 값이 제대로 있었다는것이죵
php 를 몰라서 미심쩍었지만 확실히 몰랐던 php 문법에서 버전업이 되면서 약간의
변경사항? 이 있었나 봅니다. 어찌되었건.
처음부터 $name 하면은 아무런 값이 없고
$name = $_POST["name"] 이렇게 post로 넘겨온것중 name이 name인 것을 $name에다가 넣어주세요.
라는 뜻일것입니다. ㅎㅎ
그러면 나머지도 다 고쳐보고 해보면 되겟죠? ㅎ
솔직히 PHP는 처음이라 그런지 오타가 좀 많네요^^;
완성!
===========================================
insert.php 소스를 하나씩 살펴 보겠습니다.
- 3행
mysql_connect("localhost", "phpbbs", "phpbbs") or die (mysql_error());
mysql_connect() 함수는 말 그대로 mysql 서버에 연결하는 기능을 합니다.
괄호 안에 인자는 순서대로 호스트이름, ID, 패스워드입니다.
(만약 연결되면 정수형 링크 구분자를 반환하고, 실패하면 false를 반환하는데... 여기서는 몰라도 됩니다.) - 4행
mysql_select_db("itmembers");
3행에서 DB 서버에 접속했으니, 이제 해당 DB에 접속할 차례입니다.
mysql_slect_db() 함수는 괄호 안의 DB명에 해당되는 DB를 선택하는 기능을 합니다.
(참고로 성공하면 true, 실패하면 false를 반환합니다.) - 25행
중간에 일단 건너뛰고 25행부터 설명하겠습니다.
위에서 DB 서버에 접속해서, 원하는 DB를 선택했습니다.
이제 그 DB에 적절한 SQL 문을 사용해서 원하는 작업을 해야겠죠.... 이럴 때
mysql_query() 함수를 사용합니다.
쿼리를 실행할 때 쓰는 함수입니다. 괄호 안에는 쿼리 문장이 들어갑니다.
(쿼리에 대한 자세한 내용은 오라클 기초 강좌를 참조하세요)
24행에서 쿼리 문을 $sql이라는 문자열 변수에 저장했으므로, mysql_query($sql)라고 쓰면 됩니다. - 24행
쿼리 문을 자세히 보면,
bbs 테이블에 values 괄호 안의 값들을 insert하라는 문장입니다.
(insert 문에 대한 자세한 설명은 오라클 강좌를 참조하세요. 관련 강좌 바로가기) - 7행
$name = addslashes($name);
글 입력 폼의 name 텍스트 박스의 내용을 $name 변수에 저장을 하는데,
혹시 특수 기호가 있으면 역슬래시(\)를 붙이라는 뜻입니다.
PHP에서는 작은 따옴표('), 큰 따옴표("), 역슬래시(\)와 같은 문자를 그대로 표현하려면 해당 기호 앞에 역슬래시를 표시해야 합니다.
만약 화면에 "손병목"이라는 문자를 따옴표와 함께 표현하려면
echo " "손병목" "; 이라고 하면 안된다는 것입니다.(오류가 발생합니다. 왜일까요.... 자세히 보세요.... ^^)
echo " \"손병목\" "; 라고 해야 따옴표가 정확하게 표현됩니다.
이럴 때 사용하는 함수가 바로 addslashes() 함수입니다. - 15행
$writetime = time();
$writetime 변수에 현재의 시간을 저장합니다.
time() 함수는 현재의 시간을 돌려주는 함수입니다. - 16행
$ip = getenv("REMOTE_ADDR");
getenv() 함수는 서버의 환경 정보를 불러오는 역할을 합니다.
위와 같이 인자를 "REMOTE_ADDR"이라고 쓰면, 원격지(클라이언트)의 주소를 돌려주는 역할을 합니다.
게시판에 글 쓴 사람의 ip 주소를 기록하기 위해 사용했습니다. - 17행
$count = 0;
조회수를 저장하기 위해 $count 변수를 사용했습니다.
이해는 되셨는지요...
혹시 이해가 안되는 부분이 있다면 질문/답변 게시판을 이용해 주세요
이상, 정말 오랜만에, 동주아빠 손병목이었습니다.
위에서 설명을 빠뜨린 게 있네요.
"or die(mysql_error())"에서 die() 함수는 대부분의 함수 뒤에 사용할 수 있습니다. 앞의 함수가 거짓(false)값을 반환하면 die("메시지") 함수가 메시지를 출력하는 역할을 합니다.
위와 같은 경우는 mysql_error() 함수를 이용해서 에러 메시지를 보여주는 기능을 합니다.
출처 : http://www.itmembers.net/board/view.php?id=php&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=17 손병목 홈페이지
그리고 insert.php 밑에 이거 추가해서 <? 요기 안에다가 ?>
입력 후 list.php로 이동할 준비 완료~
'낙서장 > php홈페이지 만들기' 카테고리의 다른 글
view.php (0) | 2021.08.13 |
---|---|
list.php 리스트 페이지 (0) | 2021.08.13 |
MySQL DB 테이블 만들기 (0) | 2021.08.13 |
쓰기 게시판 (0) | 2021.08.13 |
파일 카운터 스터디 (0) | 2021.08.13 |
댓글