php 分页显示数据 post参数传递问题解决方法
来源:互联网 发布:宏远体育工作感受 知乎 编辑:程序博客网 时间:2024/05/19 02:03
在进行php分页的时候可以正常显示分页页码如下图
但是当点击数字的时候,就会显示异常,页码消失
经过一番折腾感觉应该是点击一次之后参数传递方式的问题。找到一篇文章:php 分页显示数据 post参数传递问题解决方法
今日php实现显示数据分页,竟遇到类似如下问题
Notice: Undefined index: content in D:\Apache2.2\htdocs\pagefenye.php on line 18
琢磨半天,终得解决。
问题原因:因有post参出,点击诸如“下一页”等时,参数传递己变为get,而非post。
解决方案:
step1 使用$_REQUEST代替$_POST,$_REQUEST既可用于POST方法传递来的参数
也可用于GET方法传递的参数
step2 对form的post参数在换页时要重新传递
两个相关的文件贴一下:
<!--search.php:站内搜索函数---------------------><?php/*session_start();$search=$_REQUEST["search"];$_SESSION["search"]=$search;$keyword=$_REQUEST["keyword"];$_SESSION["keyword"]=$keyword;*/require_once("sys_conf.inc");ini_set("error_reporting","E_ALL & ~E_NOTICE");/**************************************************/*功能:查询content字段包含$keyword的所有留言记录/*输入:查询关键字/*输出:查询数组/**************************************************/function search($keyword,$content) { $count=count($content); $j=0; $ArrSearch=array(); //结果数组for ($i=0;$i<$count;$i++) {if (ereg($keyword,$content[$i]))//判断cotent[$i]中是否含有$keyword关键字,如果有,则条件成立{ //把关键字用红颜色突出显示,并放入结果数组$ArrSearch[$j]=str_replace($keyword,"<font color=red><b>$keyword</b></font>",$content[$i]);$j++; } } return $ArrSearch; }/**************************************************/*功能:查询content字段包含$keyword的所有留言记录的rid/*输入:查询关键字/*输出:rid数组/**************************************************/function searchid($keyword,$rid,$content) { $count=count($content); $j=0; $Arrid=array(); //结果数组for ($i=0;$i<$count;$i++) { if (ereg($keyword,$content[$i]))//判断cotent[$i]中是否含有$keyword关键字,如果有,则条件成立{ $Arrid[$j]=$rid[$i];$j++; } } return $Arrid; }//初始化$one_page_line=3; //每页的最大记录数$content=array();//数组,包含所有记录的content属性内容$id=array();//数组,包含所有记录的rid属性内容$ArrSearch=array();//数组,包含查询结果$Arrid=array();//数组,包含查询结果记录的编号//查询数据库,获取$content值$link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);mysql_select_db($DBNAME);$str="select rid,content from guestbook";$result=mysql_query($str,$link_id);//循环将数据库中值写入数组$i=0;while(list($rid,$con)=mysql_fetch_row($result)){$content[$i]=$con;$id[$i]=$rid; $i++;}mysql_close($link_id); //调用search()函数,查询关键字if (isset($_REQUEST["search"]) and isset($_REQUEST["keyword"]) and $_REQUEST["keyword"]!="") { $ArrSearch=search($_REQUEST["keyword"],$content); $Arrid=searchid($_REQUEST["keyword"],$id,$content); }//输出全部数据else{$ArrSearch=$content; $Arrid=$id; //存储查询结果的所有主键rid}//print_r($ArrSearch);//print_r($Arrid);$count =count($ArrSearch); ?>
<!--查询结果显示--><?php //session_start();//ini_set("error_reporting","E_ALL & ~E_NOTICE");include "search.php"?><html><head><title>Search Inside</title></head><body><table width="68%" border="0"><tr><td><?php ini_set("error_reporting","E_ALL & ~E_NOTICE");$int_page_count = $count; //Query Total$int_page_num = ceil($int_page_count/$one_page_line); //Total pagesecho "<font color=#CC33FF>Paging:";$search=$_REQUEST["search"];$keyword=$_REQUEST["keyword"];for ($i = 1;$i <= $int_page_num;$i++){if ( isset($search) and isset($keyword) and $keyword!="")echo "<a href='booklist.php?search=$search&keyword=$keyword&page=$i'> ".$i."</a> ";}echo "</font>";if ( isset($search) and isset($keyword) and $keyword!=""){echo "<br /><center>";echo "Search result contained keywords <font color=red><b>".$_POST["keyword"]."</b></font> total <font color=red>".$count."</font></center>";}?></td><td><p align="right">Total<font color=red><?php echo " $count";?></font></p></td></tr></table><table width="68%" border="0" align="center"><?php if (isset($page) or $page==""){$page=empty($_GET['page'])?1:$_GET['page'];$begin_line=$int_page_count-($page-1)*$one_page_line;if($begin_line<$one_page_line)$one_page_line=$begin_line;for ($j=$begin_line;$j>($begin_line-$one_page_line);$j--){echo "<tr><td align=right colspan=2>";echo "<a href=replylist.php?&recordid=".$Arrid[$j-1].">Scan reply</a> ";echo "<a href=reply.php?task=reply&recordid=".$Arrid[$j-1].">Reply</a> ";echo "<a href=update.php?recordid=".$Arrid[$j-1].">Edit</a> ";echo "<a href=delete.php?recordid=".$Arrid[$j-1].">Delete</a> ";echo "No.<font color=red>$j</font></td></tr>";print_r ($ArrSearch[$j-1]);}}?></table><p align=center><a href="#" onclick=history.back()>Back</a></p></body></html>
相关阅读:
PHP分页类--支持URL和POST两种
php分页不用get用post代码实例
0 0
- php 分页显示数据 post参数传递问题解决方法
- php 分页显示数据 post参数传递问题解决方法
- 使用 Post 方法传递数据
- PHP CURL模拟POST传递参数
- Delphi通过POST传递参数给PHP
- AngularJS $http post 传递参数数据
- AngularJS $http post 传递参数数据
- PHP复杂检索数据并分页显示的处理方法
- POST方法传递参数,返回过期解决方法
- Post、Get方法向服务器传递参数
- RESTClient插件POST方法传递参数
- Rundll32.exe参数传递问题解决方法
- Rundll32.exe参数传递问题解决方法
- Matlab solve函数参数传递问题解决方法
- Rundll32.exe参数传递问题解决方法
- PHP中GET/POST方法参数传递空格+逗号等特殊字符处理办法
- php分页显示hbase数据
- php数据分页显示技术
- 编写和提交自己的第一个内核patch
- 缓存总结
- Linux进程通讯之二:socket
- Hibernate get和load区别
- 线性表顺序表归并算法
- php 分页显示数据 post参数传递问题解决方法
- Python版 HelloWorld
- poj1080 Human Gene Functions
- mysql编码设置
- Mixing Milk
- 使用CHtmlView制作浏览器的简单记录
- 开方数_ny_773(大数).java
- 新导入工程报Unable to resolve target 'android-18'和R cannot be resolved
- funciton snprintf