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 редактироваться любым пользователем, я wnat сделать их безопасными (используя ID)

и линия 35 является n'next»ссылку на страницу, эта ссылка не должна появится, когда количество записей закончилось

+1

Вы не можете скрывать ссылки от пользователей, а не действительно и не надежно. Почему вам нужно запретить пользователю редактировать ссылку для разбивки на страницы? –

ответ

1

Я не могу придумать причину, по которой вам действительно следует скрывать номера страниц от пользователя в ссылке. Сохранение их в строке запроса как переменных $_GET, вероятно, является наиболее распространенной практикой, которую я знаю в этом конкретном случае подкачки.

Я хотел бы сделать проверку на numebrs времени ПОЛУЧАЛИ в $_GET переменных, так как это может часто приводить к SQL Injection и другим проблемам ... Убедитесь, что это число, возможно, делится на 10 (если это, как вам нравится наш сайт в be), возможно, не больше определенного определенного числа и т. д.

Если вы ДЕЙСТВИТЕЛЬНО все еще не согласны, и вы хотите скрыть его, тогда вы всегда можете это сделать, сохранив файл cookie на компьютере пользователя (это все равно показывается пользователю) или сохранить номер страницы в сеансе (хотя это кажется большой тратой ресурсов сервера для меня!).

О втором вопросе - Есть так много возможностей для этого ...
Вот один из способов:
Создать запрос SQL, который запрашивает, сколько строк есть в таблицу.
Скажем, это номер 55. Вы помещаете это в скрытое значение.
Если вы показываете 10 элементов на странице, то знаете, что последняя страница - номер 6 (показаны позиции 50-55, если вы начинаете считать на странице №1).
Простая проверка 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)."\">"; 
} 
?> 

Используя это, я хотел бы добавить проверку, чтобы убедиться, что пользователь не входит в число больше, чем это число, а , и если они это сделают, просто перенаправьте их на последнее число, которое они могут.

Смежные вопросы