회원가입을 했는데, submit 해서 전송 시켰지만, 회원정보를 저장해야겠죠.
저장되는 곳이 sql 이고!
저장되도록 처리해주는 부분이 membersave.php부분입니다.
저번에 올렸던것을 다시 보시면,
form으로 membersave.php로 전달했습니다.
사용자가 입력한 id, password, name, position 등을 membersave.php로 전달 받은 것입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <doctype html> <html> <head> <meta charset="utf-8"> <title>sign up page</title> </head> <body>
<h1>input your information</h1> <table border="1"> <tr> <td>ID</td> <td><input type="text" size="30" name="id"></td> </tr> <tr> <td>Password</td> <td><input type="password" size="30" name="pwd"></td> </tr> <tr> <td>name</td> <td><input type="text" size="12" maxlength="10" name="name"></td> </tr> <tr> <td>Position</td> <td><input type="text" size="30" name="position"></td> </tr> </table>
<input type="button" value="뒤로가기"onclick="javascript:history.go(-1)"> </form> </body> </html> | cs |
저장되는 처리를 해주기전에
실제로 데이터가 저장되는! 저장받을 공간(sql)을 만들어줘야겠죠!
CREATE TABLE `member` ( `id` varchar(30) NOT NULL COMMENT '회원 아이디', `pwd` varchar(20) NOT NULL COMMENT '회원 비밀번호', `name` varchar(10) NOT NULL COMMENT '회원 이름', `position` varchar(20) DEFAULT NULL COMMENT '회원 직급', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
not null 의 의미는 비어서는 안된다는 것입니다. null = 아무것도 없다
varchar은 가변길이 데이터 <-> 고정길이데이터 char
varchar(30) 30은 30개 문자 저장 가능을 의미합니다.
comment는 주석입니다~
default null 은 기본값으로 아무것도 주지 않겠다는 의미입니다.
innodb ( MYISAM보다 많은 기능을 제공 : COMMIT, ROLBACK등등) 형식으로 table이 생성되었고, table에 저장되어있는 데이터는 utf-8 형식 사용합니다.
시작-> 실행 들어간뒤
cmd 라고 입력한후 명령 프롬프트에 들어갑니다.
그후 , mysql.exe파일 경로를 복사하여
cd mysql.exe파일 경로 이렇게 입력합니다.
그후
mysql -uroot -p비밀번호 -hlocalhost 라고 입력합니다.
비밀번호는,, 서버를 깔며 입력했을것입니다.
(sq설정에 대한부분은 따로 게시하겠습니다.)
그후 create database opuntutorials character set utf 8 collate utf8_general_ci; 로 입력해 데이터베이스(opentutorials)를 생성해줍니다.
use opentutorials;를 입력해 db로 들어간뒤
위의 create table 'member'부분을 입력해서 table을 만들어줍니다.
이렇게 해서 저장받을 공간은 만들어졌습니다.
그뒤, join.php -> opentutorials(mysql)로 가기 위해선
membersave.php 를 통해 처리시켜 주어야 합니다.
membersave.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <html> <meta charset="utf-8"> <?php $host = 'localhost'; $user = 'root'; $pw = '111111'; $dbName = 'opentutorials'; $mysqli = new mysqli($host, $user, $pw, $dbName); $id=$_POST['id']; $password=($_POST['pwd']); $name=$_POST['name']; $position=$_POST['position']; $sql = "insert into member (id, pwd, name, position)"; // (입력받음)insert into 테이블명 (column-list) $sql = $sql. "values('$id','$password','$name','$position')"; // calues(column-list에 넣을 value-list) if($mysqli->query($sql)){ //만약 sql로 잘 들어갔으면 echo 'success inserting <p/>'; //success inserting 으로 표시 echo $name.'님 가입 되셨습니다.<p/>'; // id님 안녕하세요. }else{ //아니면 echo 'fail to insert sql'; //fail to insert sql로 표시 } mysqli_close($mysqli); ?> <input type="button" value="로그인하러가기" onclick="location='index.php'"> </html> | cs |
이부분은, mysql과 php를 연동시켜주는 부분입니다.
join.php에서 post로 전달받은 id, pwd, name, position (name=이곳에써있었던 변수명) 을 post로 전달받아 다시 id, password, name, position이라고 변수로 저장시켜줍니다.
쿼리문이죠!
insert into member (id, pwd, name, position) mysql의 테이블 명
"values('$id','$password','$name','$position')" 이부분은 아까 join.php에서 post방식으로 받아와 다시 변수로 받았던 것입니다.
$sql = $sql. 점의 의미는 기존변수의 문자열에 다른 문자를 추가시키는 의미입니다.
if문이죠
$mysqli->query($sql) 쿼리문이 잘 들어갔다면,의미
mysqli_close($mysqli); mysqli 종료 의미
결과입니다.
'웹(php) > 웹(login)_php' 카테고리의 다른 글
[Project1]로그인 구현하기 _최종(파일첨부) (0) | 2016.11.08 |
---|---|
[Project1]로그인 구현하기 (php, mysql, html)_ 로그인(login.php) (0) | 2016.11.08 |
[Project1]로그인 구현하기 (php, mysql, html)_ 회원가입화면 (join.php) (0) | 2016.11.08 |
[Project1]로그인 구현하기 (php, mysql, html) _ 로그인화면(index.php) (0) | 2016.11.03 |