不知何故,当将站点移动到较新的服务器时,php 代码损坏了。我们确实先用一个临时站点对其进行了测试,但它仍然坏了。
列表的所有动态链接都不再起作用。我有一个下一步按钮,除了更改 url 之外什么都不做。单击下一步时,它仍显示第 1 页,共 5 页。我确实知道有些事情是对的,因为在此页面的顶部,它获取记录数并从数据库中显示它。
我听说这段代码很旧,并且正在制作一个新站点,所以我需要做的就是修复错误。我不需要重新做整个页面,因为这会浪费时间。无论如何,他们将在接下来的几个月内取消它。
我更像是一个 .NET 开发人员,所以我什至不确定如何对 PHP 站点进行错误检查。这是被破坏的代码和定义这些变量的函数。
<?php
echo "<br>\n";
echo "<strong>";
if($page_num > 1) {
$prev_page = $cur_page - 1;
echo " ";
echo "<A HREF=\"$PHP_SELF?action=list_records&sort_order=$org_sort_order&order_by=$order_by&cur_page=$prev_page$search_link\"><< Previous</A>\n";
}
if($page_num < $total_num_page) {
$next_page = $cur_page + 1;
$last_page = $total_num_page - 1;
echo " ";
echo "<A HREF=\"$PHP_SELF?action=list_records&sort_order=$org_sort_order&order_by=$order_by&cur_page=$next_page$search_link\">Next >></A>";
}
echo "</strong>";
?>
function list_records() {global $tbl_units, $tbl_members;
global $unit_array, $location_array;
global $default_sort_order, $default_order_by, $records_per_page;
global $sort_order, $order_by, $cur_page, $search_db, $search_txt, $search_link;
global $PHP_SELF;
$query = "SELECT count(*) FROM $tbl_units
INNER JOIN $tbl_members ON $tbl_units.memberid = $tbl_members.username
WHERE $tbl_members.status = 'Active' AND $tbl_units.status = 'Available' $search_db";
$result = mysql_query($query);
if(!$result) error_message(sql_error());
$query_data = mysql_fetch_row($result);
$total_num_user = $query_data[0];
$page_num = $cur_page + 1;
$total_num_page = $last_page_num
= ceil($total_num_user/$records_per_page);
if($total_num_user > 0) {
echo "<CENTER><H3>$total_num_user unit(s) found. ";
echo "Displaying the page $page_num out of $last_page_num.</H3></CENTER>\n";
} else {
echo "<CENTER><div class='vacancy'>No vacancies at this time!</div></CENTER>\n";
}
if(!empty($search_txt)) echo $search_txt;
if(empty($order_by)) {
$order_by_str = "ORDER BY $default_order_by";
$order_by = $default_order_by;
}
else $order_by_str = "ORDER BY $order_by";
if(empty($sort_order)) {
$sort_order_str = $org_sort_order = $default_sort_order;
$hold_order = $sort_order;
$sort_order = 'DESC';
}
else {
$sort_order_str = $org_sort_order = $sort_order;
$hold_order = $sort_order;
if($sort_order == 'DESC') $sort_order = 'ASC';
else $sort_order = 'DESC';
}
if(empty($cur_page)) {
$cur_page = 0;
}
$limit_str = "LIMIT ". $cur_page * $records_per_page . ", $records_per_page";
$query = "SELECT $tbl_units.* FROM $tbl_units
INNER JOIN $tbl_members ON $tbl_units.memberid = $tbl_members.username
WHERE $tbl_members.status = 'Active' AND $tbl_units.status = 'Available' $search_db
$order_by_str $sort_order_str $limit_str";
$result = mysql_query($query);
if(!$result) error_message(sql_error());
如果有人可以帮助我弄清楚如何让我的链接正常工作,我将不胜感激!我在这里和那里尝试了几件事,但我无法让页面重定向到下一页结果。