页面有些问题。请高手帮我看一下,
http://www.vipcha.net/history/index.php
这个页面正常。但是点这个页面的列表里的超链接。显示的都是空白的。没有数据。应该是哪里没有转换明白。
请高手指点一下。  谢谢。。
<?php
require_once("global.php");
require_once("checkpostandget.php");
$id=$_GET['id'];
if (isset($_POST['yue'])&&isset($_POST['ri'])) {
$yue = $_POST['yue'];
$ri = $_POST['ri'];
}
else {
$yue = date("m");
$ri = date("d");
}
if (isset($id)) { $query="select * from list Where id=".intval($_GET['id'])."";
}
else 
{
$query="select * from list Where M=".$yue." And D=".$ri."";
}
$result=mysql_query($query);if (isset($id)) {$c=mysql_query($query);
$r=mysql_fetch_object($c);  
$tit=$yue."月".$ri."日-".$r->Title; 
}
else {
$tit=$yue."月".$ri."日-历史上的今天";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title>历史上的今天</title>
<body>
<form action="" method="post">
<input name="act" type="hidden" value="yi" />
</form>
<form action="index.php" method="post">
<select name="yue" id="yue">
<option value="<?=date("m")?>" selected="selected"?><?=date("n")?></option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select> 月 <select name="ri" id="ri">
<option value="<?=date("d")?>" selected="selected"><?=date("j")?></option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select> 日 <input name="act" type="hidden" value="li" /><input type="submit" value="查看" />
</form>
<br />
<table border="0" cellpadding="2" cellspacing="2" width="100%">
<tr><td><h1 style="font-size:18px;padding:5px;">历史上的<? echo $yue; ?> 月 <? echo $ri; ?>日</h1></td></tr>
</table>
<table border="0" cellpadding="5" cellspacing="5" width="100%" class="stab">
<?
while ($rs=mysql_fetch_object($result)){ 
if (isset($id)) {
?><tr><p align="left"><strong><?php echo $rs->Title;?></strong></p><br /><?php echo $rs->Content;?></tr>
<?
}
else {
?>
<tr><th align="left" valign="middle"><img src="/img/dot.gif"><a href="history_<?php echo base64_encode($rs->ID);?>.html" target=_blank><?php echo $rs->Title;?></a></th></tr>
<?
}
}
?>
</table>
</td>
</tr>
</table>
 

解决方案 »

  1.   

    $href="history_<?php echo base64_encode($rs->ID);?>.html";
    把$href打印出来看看。
      

  2.   


    程序都是在这个一个页面里的。http://www.vipcha.net/history/history_ODUy.html  就是这个。
    但是页面没有数据。我有一点明白。我个人理解。
    if (isset($id))如果ID没有值 显示列表。  
    if (isset($id))ID有值时。显示文章内容。 因为这个ID被我改成base64_encode($rs->ID).
    需要在把base64_encode($rs->ID)改为ID 就可以了。
    <table border="0" cellpadding="5" cellspacing="5" width="100%" class="stab">
    <?
    while ($rs=mysql_fetch_object($result)){     
        if (isset($id)) {    
    ?><tr><p align="left"><strong><?php echo $rs->Title;?></strong></p><br /><?php echo $rs->Content;?></tr>
    <?
        }
        else {
        ?>
    <tr><th align="left" valign="middle"><img src="/img/dot.gif"><a href="history_<?php echo base64_encode($rs->ID);?>.html" target=_blank><?php echo $rs->Title;?></a></th></tr>
    <?
        }
    }
    ?>
    </table>
      

  3.   

    如果原来的页面http://www.vipcha.net/history/history_11.html执行跳转,
    那么你现在的http://www.vipcha.net/history/history_ODUy.html跳转不了,找不到页面。
    你需要:
    $id = base64_encode($rs->ID);
    <a href="history_<?php echo base64_decode($id);?>.html"才能执行。如果你不想让真实的href链接在地址栏显示,你可以在httpd.conf中重写规则。
    http://www.sudu.cn/info/html/edu/20070930/65599.html
      

  4.   

    其实他的 urlrewrete 规则都要改
      

  5.   

    呵呵。我只是理解这样的,主要是我这点PHP根本写不出东西来,
      

  6.   

    $id = base64_decode($_GET['id']);这样不会吗?
      

  7.   

    可以跳转的。  11经过加密得到  MTE=
    如果原来的页面http://www.vipcha.net/history/history_11.html执行跳转
    http://www.vipcha.net/history/history_MTE=.html
    只是这个页面没有显示出来内容。