PHP+AJAX 非リフレッシュ ページングの実装コードの詳細な説明。最近 ajax チュートリアルを見ていて、ajax 開発フレームワークに基づいた簡単な PHP+AJAX 非リフレッシュ ページングを作成したいと思いました。
var http_request=false; function send_request(url){//初始化,指定处理函数,发送请求的函数 http_request=false; //开始初始化XMLHttpRequest对象 if(window.XMLHttpRequest){//Mozilla浏览器 http_request=new XMLHttpRequest(); if(http_request.overrideMimeType){//设置MIME类别 http_request.overrideMimeType("text/xml"); } } else if(window.ActiveXObject){//IE浏览器 try{ http_request=new ActiveXObject("Msxml2.XMLHttp"); }catch(e){ try{ http_request=new ActiveXobject("Microsoft.XMLHttp"); }catch(e){} } } if(!http_request){//异常,创建对象实例失败 window.alert("创建XMLHttp对象失败!"); return false; } http_request.onreadystatechange=processrequest; //确定发送请求方式,URL,及是否同步执行下段代码 http_request.open("GET",url,true); http_request.send(null); } //处理返回信息的函数 function processrequest(){ if(http_request.readyState==4){//判断对象状态 if(http_request.status==200){//信息已成功返回,开始处理信息 document.getElementById(reobj).innerHTML=http_request.responseText; } else{//页面不正常 alert("您所请求的页面不正常!"); } } } function dopage(obj,url){ document.getElementById(obj).innerHTML="正在读取数据..."; send_request(url); reobj=obj; }
コンテンツを div Display に配置します。ページめくりアクションが発生したら、AJAX を使用して DIV を更新して、ページめくり効果を実現します。これは、コンテンツ表示ページのコードです:
<?php header("Content-type: text/html;charset=GBK");//输出编码,避免中文乱码 ?> <html> <head> <title>ajax分页演示</title> <scrīpt language="javascrīpt" src="ajaxpg.js"></scrīpt> </head> <body> <div id="result"> <?php $page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。 $num=10; //每页显示10条数据 $db=mysql_connect("localhost","root","7529639"); //创建数据库连接 mysql_select_db("cr_download"); //选择要操作的数据库 /* 首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是 总数据库除以每页显示的条数,有余进一。 也就是说10/3=3.3333=4 有余数就要进一。 */ $result=mysql_query("select * from cr_userinfo"); $total=mysql_num_rows($result); //查询所有的数据 $url='test.php';//获取本页URL //页码计算 $pagenum=ceil($total/$num); //获得总页数,也是最后一页 $page=min($pagenum,$page);//获得首页 $prepg=$page-1;//上一页 $nextpg=($page==$pagenum ? 0 : $page+1);//下一页 $offset=($page-1)*$num; //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。 //开始分页导航条代码: $pagenav="显示第 <B>".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B> 条记录,共 $total 条记录 "; //如果只有一页则跳出函数: if($pagenum<=1) return false; $pagenav.=" <a href=javascrīpt:dopage('result','$url?page=1');>首页</a> "; if($prepg) $pagenav.=" <a href=javascrīpt:dopage('result','$url?page=$prepg');>前页</a> "; else $pagenav.=" 前页 "; if($nextpg) $pagenav.=" <a href=javascrīpt:dopage('result','$url?page=$nextpg');>后页</a> "; else $pagenav.=" 后页 "; $pagenav.=" <a href=javascrīpt:dopage('result','$url?page=$pagenum');>尾页</a> "; $pagenav.="</select> 页,共 $pagenum 页"; //假如传入的页数参数大于总页数,则显示错误信息 If($page>$pagenum){ Echo "Error : Can Not Found The page ".$page; Exit; } $info=mysql_query("select * from cr_userinfo limit $offset,$num"); //获取相应页数所需要显示的数据 While($it=mysql_fetch_array($info)){ Echo $it['username']; echo "<br>"; } //显示数据 echo"<br>"; echo $pagenav;//输出分页导航 ?> </div> </body> </html>
ページめくりの鍵は、次の呼び出しです。ページめくり時に dopage() 関数を呼び出し、コールバック情報を使用して div コンテンツを更新する、サーバー側のコア コード:
<?php header("Content-type: text/html;charset=GBK");//输出编码,避免中文乱码 $page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。 $num=10; //每页显示10条数据 $db=mysql_connect("localhost","root","7529639"); //创建数据库连接 mysql_select_db("cr_download"); //选择要操作的数据库 /* 首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是 总数据库除以每页显示的条数,有余进一。 也就是说10/3=3.3333=4 有余数就要进一。 */ $result=mysql_query("select * from cr_userinfo"); $total=mysql_num_rows($result); //查询所有的数据 $url='test.php';//获取本页URL //页码计算 $pagenum=ceil($total/$num); //获得总页数,也是最后一页 $page=min($pagenum,$page);//获得首页 $prepg=$page-1;//上一页 $nextpg=($page==$pagenum ? 0 : $page+1);//下一页 $offset=($page-1)*$num; //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。 //开始分页导航条代码: $pagenav="显示第 <B>".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B> 条记录,共 $total 条记录 "; //如果只有一页则跳出函数: if($pagenum<=1) return false; $pagenav.=" <a href=javascrīpt:dopage('result','$url?page=1');>首页</a> "; if($prepg) $pagenav.=" <a href=javascrīpt:dopage('result','$url?page=$prepg');>前页</a> "; else $pagenav.=" 前页 "; if($nextpg) $pagenav.=" <a href=javascrīpt:dopage('result','$url?page=$nextpg');>后页</a> "; else $pagenav.=" 后页 "; $pagenav.=" <a href=javascrīpt:dopage('result','$url?page=$pagenum');>尾页</a> "; $pagenav.="</select> 页,共 $pagenum 页"; //假如传入的页数参数大于总页数,则显示错误信息 If($page>$pagenum){ Echo "Error : Can Not Found The page ".$page; Exit; } $info=mysql_query("select * from cr_userinfo limit $offset,$num"); //获取相应页数所需要显示的数据 While($it=mysql_fetch_array($info)){ Echo $it['username']; echo "<br>"; } //显示数据 echo"<br>"; echo $pagenav;//输出分页导航 ?>
以上、PHP+AJAX 非リフレッシュ ページングの実装方法を詳しく説明しました。皆さんが PHP プログラミングを学ぶのに役立つことを願っています。
PHP+AJAX の非リフレッシュ ページング実装方法の詳細な説明については、PHP 中国語 Web サイトの関連記事に注目してください。

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra

toretrievedatafrompsession、Startthessession withsession_start()andAccessvariablesshe $ _SessionArray.forexample:1)Startthessession:session_start()

セッションを使用して効率的なショッピングカートシステムを構築する手順には、次のものがあります。1)セッションの定義と機能を理解します。セッションは、リクエスト全体でユーザーのステータスを維持するために使用されるサーバー側のストレージメカニズムです。 2)ショッピングカートに製品を追加するなど、基本的なセッション管理を実装します。 3)製品の量管理と削除をサポートし、高度な使用状況に拡大します。 4)セッションデータを持続し、安全なセッション識別子を使用することにより、パフォーマンスとセキュリティを最適化します。

この記事では、PHPでインターフェイスを作成、実装、および使用する方法について説明し、コード組織と保守性の利点に焦点を当てています。

この記事では、PHPのCrypt()とpassword_hash()の違いについて、パスワードハッシュの違いについて説明し、最新のWebアプリケーションの実装、セキュリティ、および適合性に焦点を当てています。

記事では、入力検証、出力エンコード、およびOWASP ESAPIやHTML浄化器などのツールを使用して、PHPのクロスサイトスクリプト(XSS)を防止します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック









