테스트 사이트 - 개발 중인 베타 버전입니다

소스 코드가 이상하게 변질되어서 파일 기부[ No Bug 파일 완전판]

· 2년 전 · 1236 · 7

<?php 
$dbconn=mysqli_connect(~);
$block_per_page=10;  
$page_per_record=1;  
@$page=$_REQUEST['page'];
if( !intval($page) || $page == false || $page == null)  { $page=1; }
else {    $page=preg_replace('#[^0-9]#','',$_REQUEST['page']);}
$tab=preg_replace('/[^a-z0-9]/','',$_GET['tab']);

$count_check="select count(table_number) as total_pst from board where table_id like '$tab'";
$sql_query=mysqli_query($dbconn,$count_check);
$total_record=mysqli_fetch_assoc($sql_query);
$sql_cnt=stripslashes($total_record['total_pst']); 
$total_page=ceil($sql_cnt/ $page_per_record);  
$total_block=ceil($total_page / $block_per_page); 
$now_block=ceil($page/$block_per_page); 
$start_record=intval(($page -1) * $page_per_record); 
if($start_record < 1) { $start_record=0;}
else {$start_record=$start_record;}
$start_page=intval(($now_block -1) * $block_per_page)+1; 
$end_page=intval($start_page + $block_per_page)-1;
if($end_page >= $total_page) {$end_page == $total_page;} 

$info_sql="select * from board where table_id like '$tab' limit $start_record, $page_per_record";

$info_result = mysqli_query($dbconn,$info_sql);
while($tab_data=mysqli_fetch_assoc($info_result) ) {
}
----------------------
$next_page=$page+1;
$prev_page=$page-1;
----------------------
+-뻔할 단어니 그냥 1씩 더하고 빼고

if($page == 1 || $total_page <= 1)  {/*1page only*/}
if($page > 1 )  {
    if($page < $total_page) {}
    else if($page <= $total_page) {    
    echo "<span id=btn_span ><a href=?tab=$tab&page=1>[First]</a></span>";}
    else if(($page <= $total_page) && ($page <= 1)) {    }
    else {}
}
if($start_page <= $total_page){
if(($start_page <=1) ) {}
else{echo "<span id=btn_span><a href=?tab=$tab&page=$prev_page>[Prev]</a></span>";}}
for($i=$start_page;$i<=$end_page;$i++) {
    if($i > $total_page ) {}
    else if($i <= $total_page) {echo "<span id=btn_span><a href=?tab=$tab&page=$i>[$i]</a></span>";}
    else {}


if(($next_page <$total_page) ) { echo "<span id=btn_span><a href=?tab=$tab&page=$next_page>[Next]</a></span>";}
else{}
if($total_page >$page) {echo "<span id=btn_span><a href=?tab=$tab&page=$total_page>[Last]</a></span>";}
else{}
?>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 7개

숫자는 맘껏 변경해도 알아서 처리합니다.
다중게시판용 소스

list.php?tab=게시판 아이디
1) 게시물 제목에 이 소스가 어떤 용도인지 표기해야겠죠? 알림장도 아니고 본인만 알아듣게 작성하면 무슨 의미가 있겠습니까?

2) 코드가 작동되는지 확인 후 올리셨으면 합니다.
No Bug 완전판이라고 쓰기 전에 최소한 작동되는지는 검토했어야죠.

이 구문이 맞다고 보세요?
if($end_page <= $total_page) {$end_page == $total_page;}
@그누GPT 다 해봤거든요. 그리고 페이징 버그에 모르시는 것이 있으신가 보는데요.
데이터는 않나오고 페이징 숫자는 무한 진행 가능하고. 설마 이 버그를 모르시는 건?

아 / 니 / 겠 / 죠 ?

총 페이지가 100개고
갯수도 10

블록을 10개로 하고..

브레이크 잡는 소스를 않넣으면....

최대 페이지가 10페이지인데.. 계속 진행됩니다 11페이지 12페이지 13페이지 ~~~

경험을 해보지 않으셔서 그렇지요.

이유는 단 하나 : 페이징 진행 숫자

예 PageNo=10 이 마지막이라고 하면.. 그 이상의 숫자를 URL에 바꿔 입력해보고
테스트 해보질 않았다면 그 사이트는 페이징 때문에 해킹당합니다.
@piadream

버그가 아니라 코드를 잘못 작성하면 그렇게 되는 겁니다.
선생님은 코드를 잘못 적어주신 거고요.

대놓고 말씀드릴게요. PHP에 대한 이해도가 있는 상태에서 적으신 건가요? 전혀 아닌 것 같아서요.

개 / 발 / 자 / 는 / 아 / 니 / 겠 / 죠 / ?
@그누GPT 꺽쇠를 방향을 잘못 끼운거 같네요. 수정해서 이상하게 나오지 않기를.......
제 코드 스타일 이해한 후에는 제 소스는 그렇게 어렵게 느껴지는 경우가 없어지실겁니다.

게시글 목록

번호 제목
18088
18080
18078
18070
18061
18037
18036
18033
18022
18021
18020
18018
18004
17999
17995
17987
17982
17981
17980
17970
17965
17964
17963
17962
17960
17956
17953
17949
17930
17928