[Poison] 난해한 언어로 로그인 기능 구현하기

PersesTitan·2022년 10월 21일
2

OTLanguage

목록 보기
20/24

Poison으로 구현한 간단한 로그인 기능 코드 입니다.
(Poison : OTLanguage기반으로 구현하는 웹프레임워크 입니다.)

코드

poison.otl

ㅍㅇㅍ
ㅈㅁㅈ 회원-저장소
ㅍㅇㅍ~ㄱㅅㄱ[/login] {
} => templates~login.html

ㅍㅇㅍ~ㅍㅅㅍ[/login][ㅇㅁㅇ 아이디:id][ㅇㅁㅇ 비밀번호:password] {
    ?ㅅ? :ㅇㅁㅇ~=?[:~회원-저장소>>>:아이디__][:비밀번호_]_ {
        ㅍㅇㅍ~ㄱㅋㄱ[name][:아이디_]
        ㅍㅇㅍ~ㄹㄷㄹ /
    }
} => 로그인

ㅍㅇㅍ~ㄱㅅㄱ[/singup] {
} => templates~singup.html

ㅍㅇㅍ~ㅍㅅㅍ[/singup][ㅇㅁㅇ 아이디:id][ㅇㅁㅇ 비밀번호:password][ㅇㅁㅇ 비밀번호체크:password-check][ㅇㅁㅇ 이메일:email] {
    ?ㅅ? :ㅇㅁㅇ~=?[:비밀번호_][:비밀번호체크_]_ {
        ㅆㅁㅆ 비밀번호 일치
        ~회원-저장소<<<{:아이디_=:비밀번호_}
        ㅍㅇㅍ~ㄹㄷㄹ /login
    }
    ?ㅉ? {
        ㅆㅁㅆ 비밀번호 불일치
        ㅍㅇㅍ~ㄹㄷㄹ /singup
    }
} => 회원가입

ㅍㅇㅍ~ㄱㅅㄱ[/] {
    ㅁㄷㅁ 이름::ㅍㅇㅍ~ㄱㅋㄱ name_님 어서오세요
} => templates~index.html

ㅍㅇㅍ~ㅅㅌㅅ

templates/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  메인페이지<br>
  {{ :이름 }}
</body>
</html>

templates/login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<style>
    div.error {
        color: red
    }

    table {
        text-align: center;
    }

    .center {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 100vh;
    }

    table {
        border: 1px solid black;
        border-collapse: collapse;
    }

</style>
<body>
    <div class="center">
    <form method="post">
      <table>
            <tr><th colspan="2" style="font-size: 2em">로그인</th></tr>
            <tr><td>아이디</td><td><input name="id" type="text"></td></tr>
            <tr><td>비밀번호</td><td><input name="password" type="password"></td></tr>
            <tr>
                <th colspan="2"><br>
                <button type="submit">로그인</button>
                <button type="button" onclick="location.href='/singup/'">회원가입</button>
                </th>
            </tr>
      </table>
    </form>
    </div>
</body>
</html>

templates/singup.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>SingUp</title>
</head>
<style>
    div.error {
        color: red
    }

    table {
        text-align: center;
    }

    .center {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 100vh;
    }

    table {
        border: 1px solid black;
        border-collapse: collapse;
    }
</style>
<body>
    <div class="center">
    <form method="post">
      <table>
        <tr><th colspan="2" style="font-size: 2em">회원가입</th></tr>
        <tr><td>아이디</td><td><input name="id" type="text"></td></tr>
        <tr><td>비밀번호</td><td><input name="password" type="password"></td></tr>
        <tr><td>비밀번호 확인</td><td><input name="password-check" type="password"></td></tr>
        <tr><td>이메일</td><td><input name="email" type="email"></td></tr>
        <tr>
            <th colspan="2">
                <br>
                <button type="submit">회원가입</button>
            </th>
        </tr>
      </table>
    </form>
    </div>
</body>
</html>

동작 테스트

로그

출력 페이지

파일


아직 부족한 부분도 있고 해결해야할 문제도 많지만 난해한 프로그램밍언어로 구현한 현제 의의를 두고 있습니다. ㅎㅎㅎ

profile
안녕하세요 페르세스 티탄입니다! 부족한 부분이 많이 있겠지만 잘부탁드립니다.

1개의 댓글

comment-user-thumbnail
2022년 12월 1일

여러가지 언어를 혼자 공부하고 있었네!!! 열심히 해봐 응원할게~~~^^

답글 달기