안녕하세요 :)
저번에 생성한 web 데이터베이스를 생성하고 user 테이블을 생성했자나요?
velys-log.tistory.com/9?category=1051296
모른다면 이걸 참고해주세요 ㅎㅎ
그걸 가지고 회원가입 기능을 만들껀데요? 정말 간단하게 만들어보기를 할꺼에요. 기능 구현이 목적이라 이쁨따윈 없답니다. ㅎ.ㅎ
<?php
session_start();
if(isset($_POST['submit'])){
$host = "localhost";
$username = "web";
$password = "web";
$db = "web";
$conn = new mysqli($host, $username, $password, $db);
$result = $conn->query("insert into user values ('$_POST[id]', '$_POST[pw]');");
$conn->close();
if($result == false){
echo "오류";
}if(isset($_SESSION['id'])){
echo " 로그인 중입니다."
?>
<button type="button"
onclick="location.href='./main.php';"
>홈으로</button>
<button type="button"
onclick="location.href='./logout.php';"
>로그아웃</button>
<?php
}
else{
echo "회원가입 성공";
?>
<button type="button"
onclick="location.href='./login.php';"
>로그인 하러가기</button>
<?php
}
}else{
?>
<form action="./join.php" method="POST">
id: <input name="id">
password: <input name="pw">
<input type="submit" name="submit">
</form>
<?php
}
?>
음 라인 넘버가 안나와서 좀 불편하지만 간단하게 설명 드릴께요 ㅎㅎ
지금 당장 session_start() 는 무시해도 됩니다.
왜냐면 제가 로그인을 session으로 할려고 넣은거거든요 나중에 설명 드릴께요.
$host ~ $conn 이 범위의 코드가 만든 데이터베이스랑 연결을 해주는 거에요. 저기 쿼리에 "insert~" 보이죠? 저게 삽입하겠다는 명령어 입니다.
쿼리문이랑 데이터베이스 이름 이외에는 똑같이 적으면 연결이 될꺼에요 이제 select를 할거인지 명령어에 따라서 행위가 달라지겠죠?
그리고 "로그인중입니다"의 함수부분도 지금 당장에는 무시하구요
$result == false -> 쿼리가 오류가 나면 "오류"를 줄력하고 아니면 밑에 esle 문으로 넘어가서 "회원가입 성공"을 출력하고 '로그인하러가기' 버튼을 생성합니다
그리고 밑에 <form>~</form> 은 맨처음에 회원가입 양식을 보여주는거에요 그리고 여기서 'submit'으로 제출하게 되면 맨 위에 if문이 참이 되서 db에 삽입 및 저장이 되는거랍니다.
결과 사진
들어가자마자 이렇게 웹 페이지가 보여요.
잘 되죠? 근데 아직 되기만하고 예외상황 같은거는 나중에 추가를 해줘야겠네요 ㅎㅎ
저장이 잘 되엇는지는 직접 DB를 조회해서 확인해봐도 되고 select문으로 조회한것을 웹페이지에 출력하게할 수 도있어요. 이건 다음에 해볼께요 ㅎ.ㅎ
그럼 화이팅!
'Logs' 카테고리의 다른 글
[Ubuntu] E: Unable to locate package softwares 에러 해결 (0) | 2020.11.12 |
---|---|
[Ubuntu] text가 윈도우에서 우분투로 복붙이 안되요!(해결방법) (0) | 2020.11.10 |
[Ubuntu] Malformed entry 53 in list file 에러 해결 (0) | 2020.11.09 |
[Ubuntu] 우분투 도커 다운받기, 도커 에러 (0) | 2020.11.08 |
[Ubuntu] 우분투 버전 확인하기 (0) | 2020.11.07 |