윗글, 아랫글 클릭시 오류
게시판 목록에서 바로 클릭하면 오류는 안나는데 스크린샷같이 저기서 위로,아래로 클릭해서 게시물을 변경하면 오류가 나옵니다 어디가 잘못된건가요?? 주소 나오는데 보면 no값이 안들어오는것 같은데 원래 없는건가요??
사진과 같은 read.php
include "db_info.php"; $id=$_GET['id']; $no=$_GET['no'];
//조회수 업데이트 $query="update aa_common_$board set view=view+1 where id=$id"; $result=mysql_query($query,$conn);
//글 정보 가져오기 $query="select * from $board where id=$id"; $result=mysql_query($query,$conn); $row=mysql_fetch_array($result); ?>
| =strip_tags($row['title']);?> | ||||
| 글쓴이 | =$row['name']?> | 이메일 | =$row['email']?> | |
| 날 짜 | =date("Y-m-d", $row['wdate'])?> | 조회수 | =$row['view']?> | |
=strip_tags($row['content']);?> |
||||
|
||||
| "; echo "위로 $up_id[title] | $up_id[name] |
| "; echo "아래 $down_id[title] | $down_id[name] |
$thread_end=ceil($row['thread']/1000)*1000; $thread_start=$thread_end-1000;
$query="select*from $board where thread <= $thread_end and thread>$thread_start order by thread desc"; $result=mysql_query($query,$conn); ?>
| 번호 | 제목 | 글쓴이 | 날짜 | 조회수 |
| =$row['id']?> |
//depth갓을 통해서 들여쓰기를 한다 투명 이미지의 가로 사이즈를 늘이는 방법
if($row['depth']>0)
echo " |
">=$row['name']?>mailto:=$row[email]?>">=$row['name']?>> | =date("Y-m-d",$row['wdate'])?> | =$row['view']?> |
| 번호 | 제목 | 글쓴이 | 날짜 | 조회수 |
| =$row['id']?> |
if($row['depth']>0)
echo " |
=$row['name']?> | =date("Y-m-d",$row['wdate'])?> | =$row['view']?> |
|
####################
#페이지 리스트
#페이지 리스트의 첫 번째로 표시될 페이지가 몇 번째 페이지인지 구하는 부분이다
$start_page=(int)($current_page/$page_list_size)
* $page_list_size;
/*현재 페이지를 페이지 리스트 수로 나누면 현재 페이지가 몇 번째 페이지 리스트에 있는지 알게 된다
이 또한 0을 기준으로 하기에 형변환(타입 캐스팅)을 해주었다
형변환은 앞 강좌에서 배웠지만 위의 나누어지는 수가 1.2와 같이 유리수로 표시되기 때문이다
int(정수)형으로 형변환을 하면 소수점 자리가 사라진다
즉, 위에서 사용한 floor랑 같은 효과를 하게 되는 것이다
여기에 floor 함수를 취하거나 위의 floor를 형변환해도 상관없다
페이지 리스트의 마지막 페이지가 몇 번째 페이지인지 구하는 부분이다*/
$end_page=$start_page+$page_list_size-1;
if($total_page<$end_page) $end_page=$total_page;
/*보여주는 페이지 리스트 중에서 마지막 펭지가 되는 경우는 두 가지다
1. 페이지가 페이지 리스트 크기보다 더 많이 남아있을 때
10개씩 뿌려주는데 총 11페이지가 존재한다면 11페이지는 두 번째 목록 펭지에 뿌려진다
그렇다면 마지막 페이지 리스트는 10페이지 즉, 첫 번째 페이지+9번째 페이지이다
2. 10개씩 뿌려주는데 5페이지밖에 없다면?
마지막 리스트 페이지는 5페이지가 된다
이전 페이지 리스트 보여주기
페이지 리스트가 10인데 13번째 페이지에 있다면 두 번째 목록 페이지를 보고 있는 것이다
이전 목록 페이지로 가고 싶을 때 사용한다
이전 페이지 리스트가 필요할 때는 페이지 리스트의 첫 페이지가 페이지 리스트 수보다 클 때다
페이지가 적어도 페이지 리스트 수보다는 커야 이전 페이지 리스트가 존재할 테니깐 말이다
페이지 리스트의 수가 10인데 총 5페이지밖에 없다면 이전 페이지 리스트는 존재하지 않는다*/
$php_self="";
if($start_page>=$page_list_size) {
#이전 페이지 리스트값은 첫 번째 페이지 리스트에서 뒤로 리스트의 수만큼 이동하면 된다
#$page_size를 곱해주는 이유는 글 번호로 표시하기 위해서이다
$prev_list=($start_page-1)*$page_size;
echo "이전\n";
}
#페이지 리스트를 출력 $no=($page_num-1)*$page_size;
for($i=$start_page; $i<=$end_page; $i++) {
$page=$page_size*$i; //페이지값을 no값으로 변환
$page_num=$i+1; //실제 페이지 값이 0부터 시작하므로 표시할 때는 1을 더해준다
if($no!=$page){ //현재 페이지가 아닐 경우만 링크를 표시
echo "";
}
echo " $page_num "; //페이지를 표시
if($no!=$page) {
echo "";
}
}
#다음 페이지 리스트가 필요할 때는 총 페이지가 미지막 리스트보다 클 때이다
#리스트를 다 뿌리고도 더 뿌려줄 페이지가 남았을 때 다음 버튼이 필요할 것이다
if($total_page>$end_page)
{
#다음 페이지 리스트는 마지막 리스트 페이지보다 한 페이지 뒤로 이동하면 된다
$next_list=($end_page+1)*$page_size;
echo "다음 "; } ?> |
답변 1개
게시판을 직접만들고 계신모양이네요.
notice 에러를 출력하지 않도록 해당 파일 상단에 설정하셔도 되고..
error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING );
또는 isset 으로 체크하신후 사용하시면 됩니다.
$id=$_GET['id']; $no=$_GET['no'];
이 부분을 아래로 변경..
if(isset($_GET['id']))
$id=$_GET['id'];
if(isset($_GET['no']))
$no=$_GET['no'];
답변에 대한 댓글 2개
최신버전에 대한 사항은 인터넷 찾아보시는게 나을거에요.
오류메시지는 $no 값이 전달된게 없어서 나오는겁니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
혹시 추천해주실만한 책있으신가요?
그리고 오류메시지 나옵니다
Notice: Undefined variable: no in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\cc\WebContent\read.php on line 78
77번째줄 <td width=280 align=left height=20>
78번째줄 <a href=list.php?no=<?=$no?>><font color=white>
79번째줄 [목록보기]</font></a>