[응용편] 회원관리 페이지 만들기 (insert.php - 1)
💡 회원 가입 폼에 작성한 정보를 DB로 보내주는 페이지를 생성해보자
처리페이지를 눈으로 확인해보기 위해 잠깐 join.php
의 form
태그의 방식을 get
으로 바꿔주자!
insert.php를 어떻게 구성할 것인가에 대한 순서 설명과 내부 설명 간략하게
📌 php 변수 선언 방식 : $name
🔴 데이터 전송 방식
form
요소에 name
속성 줘야하는 이유!!!
스크립트에는 name
이 필요없지만 프로그래밍 이름에서는 name
값이 꼭 필요함
method ="get"
$_GET["필드의 name값"]
// 대문자 필수
<p>
<a href="insert.php?u_name=홍길동&u_id=hong">get방식</a>
</p>
method ="post"
$_POST["필드의 name값"]
// 대문자 필수
🟠 php 값 확인
- JS :
document.write();
- PHP :
echo $u_name;
🟡 PHP DB관련 함수(mysql)
- 5.X ⇒ mysql~
- 7.X ⇒ mysqli~
- DB 접속 :
mysqli_connect("호스트", "사용자", "비밀번호");
- DB 선택 :
mysqli_select_db("연결객체", "DB명");
$dbcon = mysqli_connect("호스트", "사용자", "비밀번호");
mysqli_select_db("$dbcon", "DB명");
$dbcon = mysqli_connect("호스트", "사용자", "비밀번호", "DB명");
- 접속 실패 시 메세지
$dbcon = mysqli_connect("호스트", "사용자", "비밀번호", "DB명") or die ("접속에 실패하였습니다.");
🟢 쿼리 작성
$sql = "insert into members(u_name, u_id, pwd, birth, postalCode, add1, add2, email, mobile) values('', '', '', '', '', '', '', '', '');
$sql = "insert into members(u_name, u_id, pwd, birth, postalCode, add1, add2, email, mobile, reg_date) values('홍길동', 'hong', '1234', '20211203', '06253', '서울 강남구 강남대로 123', '123-456', '[email protected]', '01011112222', '2021-12-03');";
- sql의 구문을 작은 따옴표 쓰는 이유는 php 안에 "" 안에 들어갈 것이라서 겹치지 않기 위해
$sql = "insert into members(u_name, u_id, pwd, birth, postalCode, add1, add2, email, mobile) values('$u_name', '$u_id, '$pwd', '$birth', '$postalCode', '$add1', '$add2', '$email', '$mobile');";
$sql = "insert into members(u_name, u_id, pwd, birth, postalCode, add1, add2, email, mobile) values('".$u_name."', '".$u_id."','".$pwd."', '".$postalCode."', '".$add1."','".$add2."', '".$email."', '".$mobile."', '".$reg_date."');";
var txt = "a";
txt += "b";
document.write(txt) // ab
$sql = "insert into members(";
$sql .= "u_name, u_id, pwd, birth, postalCode, addr1, addr2, email, mobile, reg_date";
$sql .= ") values(";
$sql .= "'$u_name', '$u_id', '$pwd', '$birth', '$postalCode', '$add1', '$add2', '$email', '$mobile', '$reg_date'";
$sql .= ");";
// PHP의 .은 JS +와 같은 뜻
🔵 데이터베이스에 쿼리 전송
mysqli_query("연결객체", "전달할 쿼리");
- 그냥 쓰면 문장이 너무 길어지니 변수를 사용하자~~!
mysqli_query($dbcon, $sql);
- mariaDB에서 글자가 깨진다면 (문자셋)
$dbcon = mysqli_connect("localhost", "root", "", "front") or die ("접속에 실패하였습니다.");
mysqli_set_charset($dbcon, "utf8");
🟣 DB(연결) 종료
mysqli_close(닫을 DB 명);
- 한페이지의 두개의 데이터베이스 연결도 가능함
$dbcon = mysqli_connect("호스트", "사용자", "비밀번호", "DB명") or die ("접속에 실패하였습니다.");
$dbcon2 = mysqli_connect("호스트", "사용자", "비밀번호", "DB명") or die ("접속에 실패하였습니다.");
$dbcon3 = mysqli_connect("호스트", "사용자", "비밀번호", "DB명") or die ("접속에 실패하였습니다.");
()
안 매개변수에 닫을 DB명을 적어줘야한다.
mysqli_close($dbcon);
🟤 리디렉션 : 주소바꾸기(다른 페이지로 이동해)
- php에서 할 수 없음. js에서 해야함
location.href
=<a href="">
자바 스크립트에 location과 html a태그는 같은거라고 보자!
<!-- 리디렉션 : js로 작업 -->
<script type="text/javascript">
location.href = "welcome.php";
</script>
- 하지만 php로 꼭 하고싶으면 (echo ""따옴표 안에는 엔터칠수 있음)
- 대신 따옴표 조심!! or 역슬래쉬 사용하기
echo "
<script type=\"text/javascript\">
// location.href = 'welcome.php';
location.href = \"welcome.php\";
</script>
";
Author And Source
이 문제에 관하여([응용편] 회원관리 페이지 만들기 (insert.php - 1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dpdnjs402/gqs4b1kt저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)