본문 바로가기
낙서장/php홈페이지 만들기

insert.php (DB 에 저장하기)

by "뭉치" 2021. 8. 13.
728x90

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로 이동할 준비 완료~

728x90

'낙서장 > 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

댓글