2010-12-26 5 views
1
<?php $name=$_POST['name']; ?> 
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
<input type="text" name="name"> 
<input type="submit" value="GO" name="submit"> 
</form> 

<?php 

    include ('db.php'); 

    if(isset($_POST['submit'])) 
    { 
    mysql_query ("INSERT INTO example (name) VALUES('$name')") or die(mysql_error()); 
    } 

    if (!isset($_GET['startrow']) or !is_numeric($_GET['startrow'])) { 
    $startrow = 0; 
    } 
    else { 
    $startrow = (int)$_GET['startrow']; 
    } 

$query = "SELECT * FROM example ORDER BY id DESC LIMIT $startrow, 20"; 

$result = mysql_query($query) or die(mysql_error()); 
    while($row = mysql_fetch_array($result)){ 
    echo "<li>"; 
    echo $row['name'] ." "." <a href= 'like.php?quote=" . urlencode($row['name']) . "'>Click Here</a>"; 
    echo "</li>"; 
} 




    echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.($startrow+10).'">Next</a>'; 
?> 

내 페이지 링크를 숨기고 싶습니다. 사용자가 편집 할 수 없도록 숨겨진 다음 어떻게 할 수 있습니까?페이지 매김 및 URL 인코딩 도움말

두번째 질문,

현재 내가 각 페이지에 총 10 개 개의 레코드 다음 다음 페이지 버튼을 표시하고 있지만, 다음 버튼을 더 이상 기록이없는 경우에도 계속 표시입니다 ...! 레코드가 끝나면 다음 페이지 단추를 제거하는 방법. ??

이 줄 번호 (28)는 사용자에 의해 easyily 편집 할 수있는 페이지의 링크입니다, 내가 그들 (사용 ID)

라인 (35) n'next이다 '페이지 링크를 확보하기 위해 wnat,이 링크는 안 레코드 수가 끝났을 때 나타납니다.

+1

어쨌든 실제로는 아니지만 안전하지 않은 사용자의 링크를 숨길 수는 없습니다. 왜 사용자가 페이지 매김 링크를 편집하지 못하도록해야합니까? –

답변

1

링크에서 사용자의 페이지 번호를 숨길 이유가 없다고 생각합니다. 이 문자열을 $_GET 변수로 유지하는 것은 아마도이 특정 페이징의 경우에 내가 아는 가장 일반적인 방법 일 것입니다.

종종 SQL Injection 및 기타 문제가 발생할 수 있기 때문에 $_GET 변수에있는 numebrs에 대한 유효성 검사를 수행 할 것입니다. 숫자가 10으로 나눌 수 있는지 확인하십시오.) 특정 숫자보다 크지 않을 수도 있습니다.

정말 동의하지 않고 숨기려면, 사용자의 컴퓨터에 쿠키를 저장하면됩니다. 이것은 여전히 ​​사용자에게 어떤 식 으로든 노출되어 있습니다) 또는 세션에 페이지 번호를 저장하십시오 (이것은 서버 자원을 낭비하는 것처럼 보입니다).
가 테이블에 얼마나 많은 행 쿼리 SQL 쿼리를 만듭니다 - 두 번째 질문에 대해

이 너무 많은 가능성이있다 ...
여기에 하나의 방법입니다.
숫자가 55라고 가정 해 봅시다. 숨겨진 값으로 넣습니다.
페이지에 10 개의 항목을 표시하는 경우 마지막 페이지가 숫자 6임을 알 수 있습니다 (페이지 번호 1에서 계산을 시작하면 항목 50-55가 표시됨).
페이지로드시 간단한 PHP 확인 : if ($_GET['page'] == 5) 다음 버튼을 표시하지 않습니다. 이 같은

뭔가 (유효성 검사와 SQL 쿼리 밖으로 건너 뛰는)이 사용

<input type="hidden" value="<?php echo $itemCount;?>"> 
<?php 
if ($_GET['page'] < ($itemCount \ 10)) 
{ 
    echo "<a href=\"items.php?page=".($_GET['page']+1)."\">"; 
} 
?> 

을, 나는 만들기 위해 반드시 사용자가이 수보다 더 큰 숫자를뿐만 아니라 입력하지 않는 검사를 추가 , 그럴 경우 마지막 번호로 리디렉션 할 수 있습니다.