PHP는 지식문답 사이트에 사용자 포인트 충전 및 소비 기능을 구현합니다.
PHP는 지식문답사이트에 사용자 포인트 충전 및 소비 기능을 구현합니다
인터넷의 급속한 발전과 함께 지식문답사이트는 사용자에게 질문하고, 다른 사람의 질문에 답변하고, 서로 소통하고 지식을 공유합니다. 사용자의 적극적인 참여와 기여를 장려하기 위해 보다 일반적인 접근 방식은 포인트 메커니즘을 도입하여 사용자에게 격려로 특정 포인트를 제공하고 특정 소비에 사용하는 것입니다.
이 글에서는 간단한 지식 질의응답 사이트에서 PHP를 사용하여 사용자 포인트 충전 및 소비 기능을 구현하는 방법을 소개하고 관련 코드 예제를 제공합니다.
먼저 사용자 포인트 정보를 저장할 데이터베이스를 만들어야 합니다. 사용자 ID, 사용자 이름 및 사용자 포인트를 각각 나타내는 "id", "username" 및 "points" 필드를 포함하는 "users"라는 테이블이 이미 있다고 가정합니다.
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `points` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
다음으로 "index.php"라는 간단한 PHP 파일을 만들어 사용자의 포인트 정보를 표시하고 포인트 충전 및 소비 기능을 제공할 수 있습니다.
<?php // 连接到数据库 $mysqli = new mysqli('数据库服务器', '数据库用户名', '数据库密码', '数据库名'); if ($mysqli->connect_errno) { die('数据库连接失败:' . $mysqli->connect_error); } // 获取操作类型(充值或消费) $action = isset($_GET['action']) ? $_GET['action'] : ''; // 根据操作类型执行相应的处理 if ($action == 'recharge') { // 获取用户ID和充值积分 $userID = isset($_GET['user_id']) ? intval($_GET['user_id']) : 0; $points = isset($_GET['points']) ? intval($_GET['points']) : 0; // 更新用户积分 $mysqli->query("UPDATE `users` SET `points`=`points`+$points WHERE `id`='$userID'"); // 检查是否有更新成功 if ($mysqli->affected_rows > 0) { echo "充值成功!"; } else { echo "充值失败,请重试!"; } } elseif ($action == 'consume') { // 获取用户ID和消费积分 $userID = isset($_GET['user_id']) ? intval($_GET['user_id']) : 0; $points = isset($_GET['points']) ? intval($_GET['points']) : 0; // 检查用户积分是否足够 $result = $mysqli->query("SELECT `points` FROM `users` WHERE `id`='$userID'"); if ($result && $result->num_rows > 0) { $row = $result->fetch_assoc(); $userPoints = intval($row['points']); if ($userPoints >= $points) { // 更新用户积分 $mysqli->query("UPDATE `users` SET `points`=`points`-$points WHERE `id`='$userID'"); if ($mysqli->affected_rows > 0) { echo "消费成功!"; } else { echo "消费失败,请重试!"; } } else { echo "积分不足,无法消费!"; } } else { echo "用户不存在!"; } } // 查询用户积分信息 $result = $mysqli->query("SELECT `id`, `username`, `points` FROM `users`"); if ($result && $result->num_rows > 0) { echo "<table> <tr><th>ID</th><th>用户名</th><th>积分</th></tr>"; while ($row = $result->fetch_assoc()) { echo "<tr> <td>".$row['id']."</td> <td>".$row['username']."</td> <td>".$row['points']."</td> </tr>"; } echo "</table>"; } else { echo "暂无用户积分信息!"; } // 关闭数据库连接 $mysqli->close(); ?>
이 코드 예제에서는 먼저 데이터베이스에 연결한 다음 GET 매개변수를 통해 작업 유형("action")을 가져옵니다. 이는 재충전("recharge")과 소비("consume")의 두 가지 유형으로 나뉩니다. ). 다양한 작업 유형에 따라 GET 매개변수를 통해 사용자 ID("user_id")와 포인트 수("포인트")를 얻습니다.
충전("recharge") 작업에서는 SQL 업데이트 문을 통해 해당 값만큼 사용자의 포인트를 늘리고, $mysqli->affected_rows
를 통해 업데이트 성공 여부를 확인합니다. $mysqli->affected_rows
检查是否更新成功。
在消费("consume")操作中,我们首先通过SQL查询语句获取用户的当前积分数,然后判断用户积分是否足够进行消费。如果积分足够,我们再通过SQL更新语句将用户的积分减去相应的数值,并同样通过 $mysqli->affected_rows
$mysqli->affected_rows
를 통해 업데이트 성공 여부도 확인합니다. 마지막으로 다른 SQL 쿼리를 사용하여 모든 사용자의 포인트 정보를 얻고 이를 간단한 HTML 테이블에 표시합니다. 이것은 단순한 예일 뿐이며 실제 애플리케이션에는 오류를 처리하고 사용자 입력의 유효성을 검사하기 위해 더 완전하고 안전한 코드가 필요할 수 있습니다. 요약하자면, 이 글은 지식질문답 사이트에서 사용자 포인트 충전 및 소비 기능을 PHP를 통해 구현하고, 관련 코드 예제를 제공합니다. 개발자는 실제 요구 사항에 따라 해당 개선 및 확장을 수행하여 특정 애플리케이션 시나리오에 적응할 수 있습니다. 🎜위 내용은 PHP는 지식문답 사이트에 사용자 포인트 충전 및 소비 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alipay PHP ...

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

세션 납치는 다음 단계를 통해 달성 할 수 있습니다. 1. 세션 ID를 얻으십시오. 2. 세션 ID 사용, 3. 세션을 활성 상태로 유지하십시오. PHP에서 세션 납치를 방지하는 방법에는 다음이 포함됩니다. 1. 세션 _regenerate_id () 함수를 사용하여 세션 ID를 재생산합니다. 2. 데이터베이스를 통해 세션 데이터를 저장하십시오.
