테스트 사이트 - 개발 중인 베타 버전입니다

비회원 글쓰기시에 글쓴이를 자동입력 채택완료

개애비 7개월 전 조회 1,903

글쓴이를 자동으로 입력되게 하고싶어요

코멘트도 자동입력하게 하고싶고요

 

익명1001~익명9000

이거를 랜덤으로

비회원이 글쓰기시에 작성자명에 자동 입력되게끔하고싶어서요

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
7개월 전

</p>

<p><input type="text" name="wr_name" value="익명<?php echo rand(1001, 9000);?>" id="wr_name" required="" class="frm_input required" size="25" placeholder="이름">


해당 스킨 폴더의 댓글 스킨 파일 view_comment.skin.php 에서 위의 내용을 위와 같이 변경하면 될 것입니다.
글쓰기에서 변경하고 싶다면 write.skin.php 파일에서 아래와 같이 변경 하면 됩니다.

</p>

<p><input type="text" name="wr_name" value="<?php echo ($name) ? $name: '익명'. rand(1001, 9000);?>" id="wr_name" required class="form-control required" maxlength="20"></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

개애비
7개월 전
너무 잘되요 감사합니다.^^

댓글을 작성하려면 로그인이 필요합니다.

glitter0gim
7개월 전

글쓴이를 자동으로 ~, 사용자가 별도의 이름을 입력하지 않은 경우

PHP의 rand() 함수를 이용해 1001부터 9000까지의 난수를 생성하고

이를 "익명"이라는 접두어와 결합시켜 글쓴이 및 코멘트 필드에 자동으로 입력하면~

이 방법은 생성된 이름의 범위 내에서 무작위적이며,

다비에 삽입 전 중복 여부나 예외 상황을 체크하는 로직을 포함하여 실제 구현을 하시면~

 

<?php
function generateAnonymousName() {
    return "익명" . rand(1001, 9000);
}
session_start();
if (!isset($_SESSION['user_id'])) { // 비회원인 경우
    $authorName = generateAnonymousName();
    
    $comment = "비회원 " . $authorName . "님의 글.";
    
    try {
        $dsn = "mysql:host=localhost;dbname=your_database;charset=utf8mb4";
        $db = new PDO($dsn, 'username', 'password');
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        
        $content = "여기에 글 내용이 들어갑니다.";
        
        $stmt = $db->prepare("INSERT INTO posts (author, comment, content) VALUES (?, ?, ?)");
        $stmt->execute([$authorName, $comment, $content]);
        
        echo "글 작성이 완료되었습니다. 글쓴이: " . htmlspecialchars($authorName, ENT_QUOTES, 'UTF-8');
    } catch (PDOException $e) {
        echo "데이터베이스 오류: " . $e->getMessage();
    }
} else {
    // 로그인한 회원에 대한 처리
    echo "로그인 상태이므로 자동 입력이 필요하지 않습니다.";
}
?>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

개애비
7개월 전
감사합니다. 글쓸때 코멘트 쓸때 작성자이름만 익명1001~익명9000
이거를 랜덤으로 넣고싶은것이어서요
글쓰기누르면 이름에 익명1001 이것이 자동으로 넣어지게 요런식으로요
글쓸때 비밀번호만 넣고 내용쓰고 간편하게 등록하게 할 목적입니다.
g
glitter0gim
7개월 전
전송된 데이터 중 작성자 이름이 비어있을 경우
자동으로 함수를 통해 "익명" + 난수(1001~9000)를 생성하며,
비번과 내용은 필수로 입력받아 간편하게 글을 등록하는 방안은~
<?php
function generateAnonymousName() {
return "익명" . rand(1001, 9000);
}

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$authorName = (isset($_POST['author']) && trim($_POST['author']) !== '')
? trim($_POST['author'])
: generateAnonymousName();

$password = isset($_POST['password']) ? trim($_POST['password']) : '';
$content = isset($_POST['content']) ? trim($_POST['content']) : '';

$comment = "비회원 " . $authorName . "님의 글.";

if ($password === '' || $content === '') {
echo "비밀번호와 내용을 모두 입력해주세요.";
exit;
}

try {
$dsn = "mysql:host=localhost;dbname=your_database;charset=utf8mb4";
$db = new PDO($dsn, 'username', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $db->prepare("INSERT INTO posts (author, password, comment, content) VALUES (?, ?, ?, ?)");
$stmt->execute([$authorName, $password, $comment, $content]);

echo "글 작성이 완료되었습니다. 글쓴이: " . htmlspecialchars($authorName, ENT_QUOTES, 'UTF-8');
} catch (PDOException $e) {
echo "데이터베이스 오류: " . $e->getMessage();
}
} else { ?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>글쓰기</title>
</head>
<body>
<form method="post" action="">
<label>비밀번호: <input type="password" name="password" required></label><br>
<label>작성자 (선택): <input type="text" name="author" placeholder="자동 입력"></label><br>
<label>내용: <textarea name="content" required></textarea></label><br>
<input type="submit" value="글쓰기">
</form>
</body>
</html>
<?php } ?>
개애비
7개월 전
답변감사합니다. 제가 초보자라 다른분이 알려주신것이 적용하기 편해서 채택을 못드렷네요
매번 너무 감사합니다.
g
glitter0gim
7개월 전
(●'◡'●)

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인