답변 2개
채택된 답변
+20 포인트
2년 전
사용자가 닉네임을 입력하지 않은 경우 자동으로 "USER" + 일련번호 형식의 닉네임을 부여하는 형태를 구현 할 수 있을 것이라 생각합니다.
아래의 예제를 참고하셔서 구현하고자 하는 페이지에 적용하시면 될 것 같습니다
즉 회원가입 페이지 또는 프로필 수정페이지 등등
</p>
<p><?php
// 이메일 및 닉네임 유효성 검사 후 처리
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = $_POST["email"];
$nickname = $_POST["nickname"];</p>
<p> // 이메일 유효성 검사 (여기서는 간단하게 필수 입력으로만 확인)
if (empty($email)) {
echo "이메일은 필수 입력 항목입니다.";
exit;
}</p>
<p> // 닉네임이 비어있는 경우 자동으로 생성
if (empty($nickname)) {
// 새로운 사용자 ID 또는 다른 로직으로 닉네임 생성
$newUserId = 1; // 새로운 사용자의 ID (예시로 1로 설정)
$nickname = "USER" . str_pad($newUserId, 6, "0", STR_PAD_LEFT);
}</p>
<p> // 이메일 및 닉네임 처리 로직 추가
// ...</p>
<p> // 확인 메시지 출력
echo "이메일: " . $email . "
";
echo "닉네임: " . $nickname;
}
?>
필요에 따라서 실제 데이터베이스 테이블과 연동하는 등의 추가 작업을 하시면 가능하지 않을까 합니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 5개
M
Masterhwan마스터환
2년 전
�
웹메이킹
2년 전
적용하시고자 하는 페이지의 상단에 /_common.php 파일이 인클루드 되어 있다면 DB에는 연결이 되어 있다는 얘기겠죠...
아이디를 입력하지않은 사용자에 대해 새로운 ID가 생성이 되겠죠? 그럼 이걸 새로운 테이블을 만들어서 DB에 저장한다고 할때 다음과 같이 할 수 있습니다.
[code]
// 데이터베이스에 이메일 및 닉네임 저장
$query = "INSERT INTO `your_table_name` (`email`, `nickname`) VALUES ('$email', '$nickname')";
if ($connect_db->query($query) === TRUE) {
echo "데이터가 성공적으로 저장되었습니다.";
} else {
echo "데이터 저장에 실패하였습니다: " . $connect_db->error;
}
[/code]
이렇게 하면 your_table_name 테이블에 저장이 되는겁니다. 예제를 참고 하셔서 로직을 구현 하시면 될 듯합니다. 아니면 회원테이블의 여분 필들를 사용하셔도 될 것 같습니다.
커스텀 하는 부분이라 전체적인걸 설명하기에는 좀 무리가 있을 듯 합니다.
아이디를 입력하지않은 사용자에 대해 새로운 ID가 생성이 되겠죠? 그럼 이걸 새로운 테이블을 만들어서 DB에 저장한다고 할때 다음과 같이 할 수 있습니다.
[code]
// 데이터베이스에 이메일 및 닉네임 저장
$query = "INSERT INTO `your_table_name` (`email`, `nickname`) VALUES ('$email', '$nickname')";
if ($connect_db->query($query) === TRUE) {
echo "데이터가 성공적으로 저장되었습니다.";
} else {
echo "데이터 저장에 실패하였습니다: " . $connect_db->error;
}
[/code]
이렇게 하면 your_table_name 테이블에 저장이 되는겁니다. 예제를 참고 하셔서 로직을 구현 하시면 될 듯합니다. 아니면 회원테이블의 여분 필들를 사용하셔도 될 것 같습니다.
커스텀 하는 부분이라 전체적인걸 설명하기에는 좀 무리가 있을 듯 합니다.
M
Masterhwan마스터환
2년 전
[code]
// 데이터베이스에 이메일 및 닉네임 저장
$query = "INSERT INTO `your_table_name` (`email`, `nickname`) VALUES ('$email', '$nickname')";
if ($connect_db->query($query) === TRUE) {
echo "데이터가 성공적으로 저장되었습니다.";
} else {
echo "데이터 저장에 실패하였습니다: " . $connect_db->error;
}
[/code]
위 코드는 /_common.php 에 입력하면 될까요?
// 데이터베이스에 이메일 및 닉네임 저장
$query = "INSERT INTO `your_table_name` (`email`, `nickname`) VALUES ('$email', '$nickname')";
if ($connect_db->query($query) === TRUE) {
echo "데이터가 성공적으로 저장되었습니다.";
} else {
echo "데이터 저장에 실패하였습니다: " . $connect_db->error;
}
[/code]
위 코드는 /_common.php 에 입력하면 될까요?
�
웹메이킹
2년 전
lib/common.lib.php 파일에 추가하셔야 겠죠...^^
M
Masterhwan마스터환
2년 전
감사합니다!
댓글을 작성하려면 로그인이 필요합니다.
2년 전
대략적으로 정리를 한다면 아래와 같이 해 볼 수 있을것 같습니다.
register_fom.skin.php 파일 수정
</p>
<p><?php
// 닉네임이 비어있는 경우 자동으로 생성
if (empty($_POST['mb_nick'])) {
$newUserId = getNextUserId(); // 사용자 ID를 생성하는 로직 (예시로 함수로 처리)
$nickname = "USER" . str_pad($newUserId, 6, "0", STR_PAD_LEFT); // 새로운 닉네임 생성
$_POST['mb_nick'] = $nickname; // $_POST 배열에 닉네임 추가
}
?></p>
<p><!-- 그누보드의 기본 register_form.skin.php 코드 작성 --></p>
<p><div class="tbl_frm01 tbl_wrap">
<table>
<colgroup>
<!-- 필요한 필드들의 colgroup -->
</colgroup>
<tbody>
<!-- 필요한 필드들의 tbody -->
</tbody>
</table>
</div>
</p>
<p>
register_update.php 파일 수정
</p>
<p><?php
// 닉네임이 비어있는 경우 자동으로 생성
if (empty($_POST['mb_nick'])) {
$newUserId = getNextUserId(); // 사용자 ID를 생성하는 로직 (예시로 함수로 처리)
$nickname = "USER" . str_pad($newUserId, 6, "0", STR_PAD_LEFT); // 새로운 닉네임 생성
$_POST['mb_nick'] = $nickname; // $_POST 배열에 닉네임 추가
}</p>
<p>// 그누보드의 기본 register_update.php 코드 작성
?>
lib/common.lib.php 파일에 추가
</p>
<p>function getNextUserId() {
global $g5; // 그누보드의 전역 변수 사용</p>
<p> $sql = "SELECT MAX(mb_id) AS max_id FROM {$g5['member_table']}"; // 회원 테이블의 ID 컬럼을 사용하여 최대값을 가져옴
$result = sql_fetch($sql);
$max_id = $result['max_id'];
$next_id = $max_id + 1; // 최대값에 1을 더하여 새로운 ID 생성</p>
<p> return $next_id;
}</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 6개
M
Masterhwan마스터환
2년 전
register_fom.skin.php
register_update.php
는 어디에 있을까요?ㅠ 비슷한 파일들은 보이는데 일치하는 파일은 안 보이네요...ㅠ
register_update.php
는 어디에 있을까요?ㅠ 비슷한 파일들은 보이는데 일치하는 파일은 안 보이네요...ㅠ
M
Masterhwan마스터환
2년 전
파일을 만들어서 코드 넣어 업로드 하면 될까요?
�
웹메이킹
2년 전
register_form.skin.php은 /skin/member/basic 폴더에 있으며,
register_form_update.php /bbs 폴더에 있습니다.
register_form_update.php /bbs 폴더에 있습니다.
M
Masterhwan마스터환
2년 전
정말 감사합니다!
M
Masterhwan마스터환
2년 전
수정했더니 웹 페이지 접속 자체가 안 되네요...ㅠ
�
웹메이킹
2년 전
제가 올려드린 소스코드는 예시일뿐입니다. 원하시는 형태로 로직을 구현하셔야 합니다.
ㅠㅠ.. 그리고 어떻게 안되시는지 ~ 소스코드를 어떻게 작성하셨는지 모르기 때문에 답변을 드리기에는 좀 무리가 있지 않을까 하는 생각입니다.
크롬 개발자 모드 F12로 구현한 소스코드에서 어떤 에러메세지가 출력이 되는지 확인을 해보세요
ㅠㅠ.. 그리고 어떻게 안되시는지 ~ 소스코드를 어떻게 작성하셨는지 모르기 때문에 답변을 드리기에는 좀 무리가 있지 않을까 하는 생각입니다.
크롬 개발자 모드 F12로 구현한 소스코드에서 어떤 에러메세지가 출력이 되는지 확인을 해보세요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
ㄱ
특히 DB연동은 해 본적이 없어서.....