首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php分页有关问题 系统提示未定义变量Undefined variable: php_self

2013-06-25 
php分页问题 系统提示未定义变量Undefined variable: php_self这个页面是一个可以正常显示列表的页面,单击

php分页问题 系统提示未定义变量Undefined variable: php_self
这个页面是一个可以正常显示列表的页面,单击“下一页”时,页数会发生变化,但是页面内容还是显示的第一页。系统提示第72和79行未定义变量Undefined variable: php_self 我应该怎样修改下? 

<?php
/*error_reporting(E_ALL ^ E_NOTICE);*/
//######################课题列表##########################
  include "config.php";
  include "header.php";
?> 
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">

<link href="style.css" rel="stylesheet" type="text/css">
<title>课题列表</title>
<style type="text/css">
<!--
.STYLE1 {font-size: 14px}
-->
</style>
<table width="740" border="0" cellspacing="1" cellpadding="0" bgcolor="#333333" align="center">
  <tr> 
  <td width="60"  height="30"  bgcolor="#FFFFFF"> <div align="center" class="text">  <p class="STYLE1">课题编号</p></div> </td>
  <td width="300" height="30"  bgcolor="#FFFFFF"> <div align="center" class="title STYLE1">课题名称</div>    </td>
  <td width="85"  height="30"  bgcolor="#FFFFFF"> <div align="center" class="STYLE1">指导教师</div></td>
  <td width="60"  height="30"  bgcolor="#FFFFFF"> <div align="center" class="STYLE1">职称</div>    </td>
  <td width="60"  height="30"  bgcolor="#FFFFFF"> <div align="center" class="title STYLE1">可选人数</div>    </td>
  <td width="80"  height="30"  bgcolor="#FFFFFF" class="title"><div align="center" class="STYLE1">选题情况</div>    </td>
  <td width="60"  height="30"  bgcolor="#FFFFFF" class="title"><div align="center" class="STYLE1">状态</div>    </td>
  <td width="60"  height="30"  bgcolor="#FFFFFF" class="title"><div align="center" class="STYLE1">详细资料</div>    </td>
  </tr>
<?php
  $n=0; 
  $query=mysql_query("select count(*) as sm from jiaoshi");
  mysql_query("set names 'GB2312'");
  $row=mysql_fetch_array($query);
  $count=$row['sm'];
    if(empty($offset))
              {$offset=0;}
echo  $offset;
   $query=mysql_query("select * from jiaoshi order by id asc limit $offset,$list_num") or die ("fail");
   mysql_query("set names 'GB2312'");
   while($row=mysql_fetch_array($query)){
        if(($n%2)!='0'){
   echo "<tr bgcolor=#ffffff>";}
  else{
  echo "<tr bgcolor=#E4E4E4>";
  }
if($row['surplus']==0)
     $ss="不可选";
else $ss="可选"; 
     echo"
<td   height='22' class='STYLE1'> <div align='center'>".$row['id']."</div></td>
<td   height='22' class='STYLE1'> <div align='center'>".$row['subject']."</div></td>


    <td   height='22' class='STYLE1'> <div align='center'>".$row['teacher']."</div></td>
    <td   height='22' class='STYLE1'> <div align='center'>".$row['zhicheng']."</div></td>
    <td   height='22' class='STYLE1'> <div align='center'>".$row['number']."</div></td>
<td   height='22' class='STYLE1'> <div align='center'>".$row['xuehao']."</div></td>
<td   height='22' class='STYLE1'> <div align='center'>".$ss."</div></td>
<td   height='22' class='STYLE1'> <div align='center'> <a href=xiangxiziliao.php?id=".$row['id'].">查看</a></div></td>
  </tr> ";
   $n++;
   }
   ?></table>
   
 <?php
   extract($_REQUEST);
    $pages=ceil($count/$list_num);
echo "<table width=760 border=0 cellspacing=0 cellpadding=0 align=center class='text'>
          <tbody> 
          <tr> 
     <td width='159'><font color='#ff0000'>目前共有".$count."条记录</font> </td>
    <td width='205'>".$pages."页</td>";

  if($offset){
$preoffset=$offset-$list_num;
print "<td width='132'><a href="$php_self?offset=$preoffset">上一页</a></td>";}
else {
  echo "<td width='132'>上一页</td>";
}
 $newoffset=$offset+$list_num;
  if(($pages!=0)&&(($newoffset/$list_num)!=$pages))
{
 print("<td width='158'><a  href="$php_self?offset=$newoffset">下一页</a></td>");
}
 else{ echo "<td width='158'>下一页</td>";}
$pageno=($offset/$list_num)+1;
echo "<td width='112' class=text>第<input class=text type='text' size='4'value=".$pageno." readonly>
      页</td>
    <td width='4'>&nbsp;</td></tr>
</table>";
   ?>   
   <p>
   </p>
<?php include "foot.php";?>


[解决办法]
既然你已经有了 extract($_REQUEST);
那么 $offset = $_GET['offset']; 就不需要了,何况如果是 post 表单提交,就没有 $_GET['offset']

你是在 php5 下调试一个按 php4 一般工作环境书写的项目,那么肯定会出现一些问题。
但你实际上没有修改代码的能力,这一点从无法解决未定义变量的问题就可看出

在你的前几个帖子中,我都明确的告诉你了:在程序的开始处加上 extract($_REQUEST); 就可以了
这样做的目的就在于:在没有了魔术变量的情况下,使用 php4 的项目

至于本轮的 $php_self 问题,显然是你自己制造的!
如果是原来就有的,那么就是 $PHP_SELF 而不是 $php_self(注意:php的变量名是区分大小写的)

热点排行