이번 주에는 마스터님의 지도하에 ajax와 php 파일 업로드 처리를 활용한 간단한 게시판 기능의 구현 방법을 보여드리겠습니다.
1. 인터페이스 개요
먼저, 이 작은 데모의 구체적인 효과를 살펴보겠습니다.
이 데모에는 주로 세 가지 단계가 포함되어 있으며 이는 세 가지 기능, 즉 등록, 로그인 및 메시지 보드 기능에도 해당됩니다. 이 세 가지 기능은 기본적으로 여러 프런트엔드 및 백엔드 상호 작용 기술에 의존합니다. 아래에서는 이 세 가지 기능을 구현하는 코드를 보여 드리겠습니다.
2. 기능 구현
1. 등록 기능 및 로그인 기능
1.1 코드 표시
1.1.1 등록 기능
(1) 전면
nbsp;html><meta><title>用户注册</title><link><style>body{margin: 0px;padding: 0px;background-color: #CCCCCC;}.panel{width: 380px;height: 350px;position: absolute;left: 50%;margin-left: -190px;top: 50%;margin-top: -175px;}.form-horizontal{padding: 10px 20px;}.btns{display: flex;justify-content: center;}</style> <div> <div><div>用户注册</div></div> <div><form> <div> <label>用户名</label><input> </div> <div> <label>密码</label><input> </div> <div> <label>确认密码</label><input> </div> <div> <input> <a></a>返回登录</div> </form></div> </div><script></script><script>$(function(){ $("#submit").on("click",function(){var str = $("form").serialize(); console.log(str); $.post("doReg.php",{"formData":str},function(data){if(data=="true"){ alert("注册成功!即将跳转登陆页!"); location = "login.php"; }else{ alert("注册失败!因为啥我不知道!"); } }); }); });</script>
(2) 백엔드 부분
<?phpheader ("Content-Type:text/html;charset=utf-8"); $str = $_POST["formData"]."[;]"; $num = file_put_contents("user.txt", $str,FILE_APPEND); if($num>0){echo "true"; }else{echo "false"; }
(3) 사용자 데이터 저장 파일
userName=123&pwd=123&rePwd=123[;]// 这其实是一个普通的txt文件,就是后台部分的user.txt
1.1.2 로그인 기능
(1) 프론트엔드 부분
nbsp;html><meta><title>用户登录</title><link><style>body{margin: 0px;padding: 0px;background-color: #CCCCCC;}.panel{width: 380px;height: 280px;position: absolute;left: 50%;margin-left: -190px;top: 50%;margin-top: -140px;}.form-horizontal{padding: 10px 20px;}.btns{display: flex;justify-content: center;}</style> <div> <div><div>用户登录</div></div> <div><form> <div> <label>用户名</label><input> </div> <div> <label>密码</label><input> </div> <div> <input> <a></a>注册账号</div> </form></div> </div><script></script><script>$(function(){ $("#submit").on("click",function(){var str = $("form").serialize(); console.log(str); $.post("doLogin.php",{"formData":str},function(data){if(data=="true"){ location = "index.php?name="+$("input[name='userName']").val(); }else{ alert("用户名或密码错误!!!"); } }); }); });</script>
(2) 백엔드 부분
<?phpheader ("Content-Type:text/html;charset=utf-8"); $str = $_POST["formData"]; list($userName) = explode("&", $str);list(,$pwd) = explode("&", $str); $users = file_get_contents("user.txt"); $userArr = explode("[;]", $users); foreach ($userArr as $user) {list($realName) = explode("&", $user);list(,$realPwd) = explode("&", $user);if($userName==$realName&&$pwd==$realPwd){echo "true";die(); } } echo "false";
1.2 기능 세부 설명
사용자 등록 및 로그인 기능을 구현하는 데는 세 가지 주요 종속성이 있습니다. 즉, ajax는 데이터를 백그라운드로 전송하고 결과를 받아들이고, php 백그라운드는 ajax가 보낸 데이터를 처리하고 결과를 피드백하며, 사용자 데이터 수신 및 저장(실제로는 백그라운드 처리 부분으로 전환될 수 있음)
1.2.1 프런트엔드 세부정보
프론트엔드 부분의 주요 작업은 사용자로부터 정보를 받아 백그라운드로 전송하는 것입니다. 이 작업 부분의 구현은 주로 두 줄의 코드에 의존합니다.
먼저 ajax 요청이 어떻게 구현되는지 살펴보겠습니다. 이 함수 부분의 구현은 주로 두 줄의 코드에 의존합니다.
코드의 첫 번째 줄은 var str = $("form").serialize(); 이 줄의 기능은 양식에 제출된 데이터를 문자열로 직렬화하는 것입니다. 아래
양식에 제출된 데이터는 배경이 이 부분을 더 잘 구문 분석할 수 있도록 직렬화됩니다.
코드의 다른 핵심 라인은 ajax 요청의 주요 부분입니다. 이 부분에서 가장 이해하기 어려운 것은 허용되는 데이터 매개변수입니다. data 매개변수는 ajax 요청의 해당 백그라운드 처리가 완료된 후 백그라운드가 프론트 데스크에 피드백하는 정보입니다. 예를 들어 등록 성공 시 true가 반환되고 실패 시 false가 반환됩니다.
1.2.2 백스테이지 세부정보
프런트엔드에서 전송된 데이터의 백엔드 처리의 핵심은 전송된 데이터를 어떻게 얻고 구문 분석하는지입니다. 이 부분에서 PHP는 구현할 세 줄의 코드를 제공합니다.
첫 번째 코드 줄: $str = $_POST["formData"]; 슈퍼 전역 배열 $_POST를 통해 프론트 데스크에서 직렬화된 문자열을 얻어 데이터 획득 부분을 해결합니다.
두 번째 코드 줄: file_put_contents("user.txt", $str,FILE_APPEND); PHP는 장기간 보존을 위해 얻은 데이터를 파일에 저장할 수 있는 file_putt_contents()를 제공합니다. .
세 번째 코드 줄: file_get_contents("user.txt"); file_putt_contents()에 해당하는 PHP에서 제공하는 데이터 추출 방법입니다.
위의 세 줄의 코드와 데이터 분석 처리를 결합하여 백그라운드에서 전체 기능을 쉽게 구현할 수 있습니다.
2. 메시지 기능
2.1 코드 표시
(1) 프론트엔드 부분
nbsp;html><meta><title></title><style>#note{width: 400px;height:100px;}</style><div></div><textarea></textarea><br><input><h1 id="留言内容">留言内容</h1><hr><div></div><script></script><script>$(function(){ getData(); var userName = '<?php echo isset($_GET["name"])?$_GET["name"]:"null"; ?>';if(userName=="null"){ location = "login.php"; } $("#div1").html("欢迎您,<span style='color:red;'>"+userName+""); $("#submit").on("click",function(){var noteVal = $("#note").val();if(noteVal==""){ alert("留言内容不能为空,请核对!");return; }var time = getTime();var note = {"userName":userName,"time":time,"noteVal":noteVal } $.post("doAdd.php",note,function(data){if(data=="true"){ alert("留言内容提交成功!"); location.reload(true); }else{ alert("留言失败!原因不明!"); } }); }); }); function getData(){ $.post("doShowNote.php",function(data){var arr = data.split("[;]"); arr.pop(); console.log(arr);for (var i=0;i< arr.length;i++) {var thisNote = $.parseJSON(arr[i]);var div = "<br/><div id='div"+i+"'>用户名:"+thisNote.userName+" 发布时间:"+thisNote.time+"<br/><br/> 留言内容:"+thisNote.noteVal+"</script>
"$("#liuyanban").prepend(div); } }) } function getTime(){var today = new Date();var year = today.getFullYear();var month = today.getMonth();var date1 = today.getDate();var hours = today.getHours();var minutes = today.getMinutes()
(2) 백엔드 부분
// 笔记的添加<?phpheader ("Content-Type:text/html;charset=utf-8"); $userName = $_POST["userName"];$time = $_POST["time"];$noteVal = $_POST["noteVal"]; $arr = ["userName"=>$userName,"time"=>$time,"noteVal"=>$noteVal]; $str = json_encode($arr); $num = file_put_contents("note.txt", $str."[;]",FILE_APPEND); if($num>0){echo "true"; }else{echo "false"; }
// 笔记的展示<?phpheader ("Content-Type:text/html;charset=utf-8");echo file_get_contents("note.txt");
(3) 메시지 데이터 저장 파일
2.2 기능설명
2.1.1 프론트엔드 부분
프론트엔드 부분의 기능은 현재 날짜, 사용자 이름 데이터, 게시판 스타일을 추가하는 점만 제외하면 로그인, 등록 기능과 동일합니다. 요구 사항에 따라.
2.1.2 백엔드 부분
백엔드 부분은 실제로 로그인 및 등록의 백엔드 구현과 동일한 루틴이지만 둘보다 한 단계 더 높습니다. json_encode($arr); 이것은 배열을 JSON 개체 형식으로 변환하기 위해 PHP에서 제공하는 방법으로, 프런트 엔드에서 메시지 데이터에 대한 피드백을 더 쉽게 얻을 수 있습니다.
위 내용은 이번 주에 처음으로 제공되는 작은 기능 데모입니다. 혹시라도 실수가 있으면 수정해 주세요.
위 내용은 프런트엔드와 백엔드 상호작용 공유의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

PHP는 동적 웹 사이트를 구축하는 데 사용되며 해당 핵심 기능에는 다음이 포함됩니다. 1. 데이터베이스와 연결하여 동적 컨텐츠를 생성하고 웹 페이지를 실시간으로 생성합니다. 2. 사용자 상호 작용 및 양식 제출을 처리하고 입력을 확인하고 작업에 응답합니다. 3. 개인화 된 경험을 제공하기 위해 세션 및 사용자 인증을 관리합니다. 4. 성능을 최적화하고 모범 사례를 따라 웹 사이트 효율성 및 보안을 개선하십시오.

PHP는 MySQLI 및 PDO 확장 기능을 사용하여 데이터베이스 작업 및 서버 측 로직 프로세싱에서 상호 작용하고 세션 관리와 같은 기능을 통해 서버 측로 로직을 처리합니다. 1) MySQLI 또는 PDO를 사용하여 데이터베이스에 연결하고 SQL 쿼리를 실행하십시오. 2) 세션 관리 및 기타 기능을 통해 HTTP 요청 및 사용자 상태를 처리합니다. 3) 트랜잭션을 사용하여 데이터베이스 작업의 원자력을 보장하십시오. 4) SQL 주입 방지, 디버깅을 위해 예외 처리 및 폐쇄 연결을 사용하십시오. 5) 인덱싱 및 캐시를 통해 성능을 최적화하고, 읽을 수있는 코드를 작성하고, 오류 처리를 수행하십시오.

PHP에서 전처리 문과 PDO를 사용하면 SQL 주입 공격을 효과적으로 방지 할 수 있습니다. 1) PDO를 사용하여 데이터베이스에 연결하고 오류 모드를 설정하십시오. 2) 준비 방법을 통해 전처리 명세서를 작성하고 자리 표시자를 사용하여 데이터를 전달하고 방법을 실행하십시오. 3) 쿼리 결과를 처리하고 코드의 보안 및 성능을 보장합니다.

PHP와 Python은 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구와 개인 선호도에 달려 있습니다. 1.PHP는 대규모 웹 애플리케이션의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 데이터 과학 및 기계 학습 분야를 지배합니다.

PHP는 전자 상거래, 컨텐츠 관리 시스템 및 API 개발에 널리 사용됩니다. 1) 전자 상거래 : 쇼핑 카트 기능 및 지불 처리에 사용됩니다. 2) 컨텐츠 관리 시스템 : 동적 컨텐츠 생성 및 사용자 관리에 사용됩니다. 3) API 개발 : 편안한 API 개발 및 API 보안에 사용됩니다. 성능 최적화 및 모범 사례를 통해 PHP 애플리케이션의 효율성과 유지 보수 성이 향상됩니다.

PHP를 사용하면 대화식 웹 컨텐츠를 쉽게 만들 수 있습니다. 1) HTML을 포함하여 컨텐츠를 동적으로 생성하고 사용자 입력 또는 데이터베이스 데이터를 기반으로 실시간으로 표시합니다. 2) 프로세스 양식 제출 및 동적 출력을 생성하여 htmlspecialchars를 사용하여 XSS를 방지합니다. 3) MySQL을 사용하여 사용자 등록 시스템을 작성하고 Password_Hash 및 전처리 명세서를 사용하여 보안을 향상시킵니다. 이러한 기술을 마스터하면 웹 개발의 효율성이 향상됩니다.

PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.

PHP는 여전히 역동적이며 현대 프로그래밍 분야에서 여전히 중요한 위치를 차지하고 있습니다. 1) PHP의 단순성과 강력한 커뮤니티 지원으로 인해 웹 개발에 널리 사용됩니다. 2) 유연성과 안정성은 웹 양식, 데이터베이스 작업 및 파일 처리를 처리하는 데 탁월합니다. 3) PHP는 지속적으로 발전하고 최적화하며 초보자 및 숙련 된 개발자에게 적합합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

WebStorm Mac 버전
유용한 JavaScript 개발 도구
