그누보드 랜덤 아이디 생성 코드 (code by chatGPT4) > 그누보드5 팁자료실

그누보드5 팁자료실

그누보드 랜덤 아이디 생성 코드 (code by chatGPT4) 정보

그누보드 랜덤 아이디 생성 코드 (code by chatGPT4)

첨부파일

gen_member.zip (2.8K) 16회 다운로드 2023-07-03 10:44:03

본문

인공지능 소모임을 잘 안보시는것 같아, 팁자료실에도 남깁니다.

인공지능 소모임(https://sir.kr/so_ai) 많이 참여해주세요. 소모임에는 프롬프트도 같이 올라옵니다.

chatGPT를 활용하여 그누보드 사이트를 만들때, 작은 도움이라도 되면 좋겠습니다. 

감사합니다.

 


<?php
include './_common.php';
include G5_LIB_PATH.'/register.lib.php';
ini_set('display_errors', '1');
$nicknames = [
    '천사', '꽃미남', '대박', '사랑', '행복', '반짝', '멋쟁이', '빛나', '상큼', '달콤',
    '불금', '희망', '초록', '눈부심', '데일리', '짱구', '미소', '서머', '윈터', '스프링',
    '리더', '독수리', '티거', '프렌즈', '나무', '구름', '별빛', '사과', '배', '감성',
    '월요병', '불타', '폭발', '아름', '오렌지', '라임', '딸기', '시원', '레인', '파도',
    '캔디', '스모크', '질주', '허니', '슈가', '파이', '웜', '닌자', '도적', '마스터',
    '킹', '퀸', '왕자', '공주', '용사', '마법사', '전사', '나비', '마녀', '요정',
    '픽셀', '트롤', '드래곤', '그리프', '스톰', '불꽃', '빙하', '리프', '땅', '하늘',
    '로봇', '강철', '블레이드', '레이저', '우주', '로켓', '별', '행성', '달빛', '태양',
    '커피', '카페', '크림', '도넛', '버블', '차', '스무디', '팝콘', '초코', '바닐라',
    '자몽', '패션', '매직', '드림', '퓨전', '모카', '로즈', '라벤더', '자스민', '민트'
];

$ids = [
    'john', 'james', 'michael', 'david', 'william', 'thomas', 'richard', 'robert', 'charles', 'joseph',
    'chris', 'daniel', 'matthew', 'mark', 'paul', 'steven', 'andrew', 'kevin', 'joshua', 'george',
    'ryan', 'timothy', 'brian', 'nick', 'ben', 'alex', 'adam', 'aaron', 'scott', 'eric',
    'jason', 'tyler', 'brandon', 'anthony', 'jeremy', 'kyle', 'jeffrey', 'gary', 'stephen', 'samuel',
    'lucas', 'luke', 'zachary', 'craig', 'greg', 'ian', 'philip', 'brad', 'shawn', 'kenneth',
    'edward', 'patrick', 'peter', 'henry', 'douglas', 'jacob', 'jesse', 'lawrence', 'sean', 'frank',
    'jerry', 'terry', 'joel', 'jonathan', 'leonard', 'martin', 'mike', 'randy', 'ronald', 'bobby',
    'billy', 'carl', 'ralph', 'jimmy', 'jack', 'tony', 'logan', 'dylan', 'max', 'bradley',
    'cody', 'derek', 'vince', 'danny', 'leo', 'jordan', 'corey', 'alan', 'jared', 'bruce',
    'andy', 'darren', 'gavin', 'jay', 'jamie', 'seth', 'blake', 'cameron', 'todd', 'nathan'
];
$output = '';
$insertedData = [];
if (isset($_POST["mb_id"])) {
    foreach ($_POST["mb_id"] as $index => $mb_id) {
        $mb_password = $_POST["mb_password"][$index];
        $mb_nick = $_POST["mb_nick"][$index];
        $mb_level = $_POST["mb_level"][$index];
        $sql = "INSERT INTO g5_member (mb_id, mb_password, mb_nick, mb_level) VALUES ('{$mb_id}', '1234', '{$mb_nick}', {$mb_level})";
        $result = sql_query($sql);
        $insertedData[] = [
            'mb_id' => $mb_id,
            'mb_password' => '1234',
            'mb_nick' => $mb_nick,
            'mb_level' => $mb_level,
            'status' => $result ? 'Success' : 'Failed'
        ];
    }
    $output = 'table';
}
?>
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.1/dist/umd/popper.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
    <title>회원 데이터 생성</title>
    <style>
        /* CSS 코드 */
    </style>
</head>
<body>
<div class="container">
    <h1>회원 데이터 생성기</h1>
    <p>이 도구는 랜덤한 회원 데이터를 생성하여 데이터베이스에 삽입하는 데 사용됩니다.</p>
    <?php if (!isset($_POST["mb_id"])): ?>
        <div>
            <label for="countInput">생성할 회원 수:</label>
            <input type="number" id="countInput" name="count" min="1" value="1">
            <button id="generateButton">생성</button>
        </div>
        <form action="gen_member.php" method="post" id="membersForm">
            <div id="generatedMembers"></div>
            <input type="submit" id="submitButton" value="DB 입력" style="display:none;">
        </form>
    <?php else: ?>
        <h2>입력 결과</h2>
        <table class="table">
            <thead>
            <tr>
                <th>아이디</th>
                <th>비밀번호</th>
                <th>닉네임</th>
                <th>레벨</th>
                <th>입력 결과</th>
            </tr>
            </thead>
            <tbody>
            <?php foreach ($insertedData as $data): ?>
                <tr>
                    <td><?php echo $data['mb_id']; ?></td>
                    <td><?php echo $data['mb_password']; ?></td>
                    <td><?php echo $data['mb_nick']; ?></td>
                    <td><?php echo $data['mb_level']; ?></td>
                    <td><?php echo $data['status']; ?></td>
                </tr>
            <?php endforeach; ?>
            </tbody>
        </table>
        <button onclick="location.href='gen_member.php'">처음으로</button>
    <?php endif; ?>
</div>

<script>
    $(document).ready(function () {
        const ids = <?php echo json_encode($ids); ?>;
        const nicknames = <?php echo json_encode($nicknames); ?>;
        const levels = [3];
        $("#generateButton").click(function () {
            const count = $("#countInput").val();
            let membersHtml = '<table class="table"><thead><tr><th>아이디</th><th>비밀번호</th><th>닉네임</th><th>레벨</th></tr></thead><tbody>';
            for (let i = 0; i < count; i++) {
                const randomId = ids[Math.floor(Math.random() * ids.length)] + (Math.floor(Math.random() * 900) + 100);
                const randomNickname = nicknames[Math.floor(Math.random() * nicknames.length)] + (Math.floor(Math.random() * 900) + 100);
                const randomLevel = levels[Math.floor(Math.random() * levels.length)];
                membersHtml += '<tr>';
                membersHtml += '<td><input type="text" name="mb_id[]" value="' + randomId + '" readonly></td>';
                membersHtml += '<td><input type="text" name="mb_password[]" value="1234" readonly></td>';
                membersHtml += '<td><input type="text" name="mb_nick[]" value="' + randomNickname + '" readonly></td>';
                membersHtml += '<td><input type="text" name="mb_level[]" value="' + randomLevel + '" readonly></td>';
                membersHtml += '</tr>';
            }
            membersHtml += '</tbody></table>';
            $("#generatedMembers").html(membersHtml);
            $("#submitButton").show();
        });
    });
</script>
</body>
</html>

 

2039017200_1688348568.302.png

 

 

2039017200_1688348582.3269.png

2039017200_1688348597.9287.png

 

 

 

추천
5

댓글 7개



당신은  한국의 PHP 개발자입니다. gnuboard5 을 능숙하게 다룰수 있습니다.

아래 코드는 gnuboard5에서 회원정보를 저장하는 코드중에 일부입니다.
비밀번호를 평문으로 저장하여, 로그인시 로그인이 안되는 문제가 있습니다. 코드를 수정하세요. 



if (isset($_POST["mb_id"])) {
    foreach ($_POST["mb_id"] as $index => $mb_id) {
        $mb_password = $_POST["mb_password"][$index];
        $mb_nick = $_POST["mb_nick"][$index];
        $mb_level = $_POST["mb_level"][$index];
        $sql = "INSERT INTO g5_member (mb_id, mb_password, mb_nick, mb_level) VALUES ('{$mb_id}', '1234', '{$mb_nick}', {$mb_level})";
        $result = sql_query($sql);
        $insertedData[] = [
            'mb_id' => $mb_id,
            'mb_password' => '1234',
            'mb_nick' => $mb_nick,
            'mb_level' => $mb_level,
            'status' => $result ? 'Success' : 'Failed'
        ];
    }
    $output = 'table';
}
gnuboard5에서 비밀번호는 평문이 아니라 암호화된 형태로 저장해야 합니다. 따라서 비밀번호를 저장하기 전에 암호화 함수를 사용하여 변환해야 합니다. gnuboard5에서는 get_encrypt_string 함수를 이용해서 비밀번호를 암호화합니다.

아래는 수정한 코드입니다:

if (isset($_POST["mb_id"])) {
    foreach ($_POST["mb_id"] as $index => $mb_id) {
        $mb_password = $_POST["mb_password"][$index];
        $mb_password = get_encrypt_string($mb_password); // 비밀번호를 암호화합니다.
        $mb_nick = $_POST["mb_nick"][$index];
        $mb_level = $_POST["mb_level"][$index];
        $sql = "INSERT INTO g5_member (mb_id, mb_password, mb_nick, mb_level) VALUES ('{$mb_id}', '{$mb_password}', '{$mb_nick}', {$mb_level})";
        $result = sql_query($sql);
        $insertedData[] = [
            'mb_id' => $mb_id,
            'mb_password' => $mb_password,
            'mb_nick' => $mb_nick,
            'mb_level' => $mb_level,
            'status' => $result ? 'Success' : 'Failed'
        ];
    }
    $output = 'table';
}
관리자 페이지에는 어떻게 넣나요? 관리자 추가메뉴는 만들었는데 넣는방법을 모르겠어용;;ㅠㅠ 둘레아빠님처럼하고싶어서요
전체 2,432 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT