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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누보드5 팁자료실

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

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

첨부파일

gen_member.zip (2.8K) 17회 다운로드 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,431 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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