Php 分页和url编码帮助
我想不出你为什么要在链接中对用户隐藏页码。将它们作为Php 分页和url编码帮助,php,mysql,hyperlink,pagination,Php,Mysql,Hyperlink,Pagination,我想不出你为什么要在链接中对用户隐藏页码。将它们作为$\u GET变量保存在查询字符串中可能是我所知道的在这种特定分页情况下最常见的做法 我会对$\u GET变量中接收到的numebr进行验证,因为这通常会导致错误和其他问题。。。确保它是一个数字,可能被10整除(如果你喜欢这个网站的话),可能不大于某个定义的数字,等等 如果您真的仍然不同意,并且想要隐藏它,那么您可以通过在用户的计算机上保存cookie(这仍然以某种方式向用户公开)或在会话中保存页码来实现这一点(尽管对我来说这似乎是对服务器资源
$\u GET
变量保存在查询字符串中可能是我所知道的在这种特定分页情况下最常见的做法
我会对$\u GET
变量中接收到的numebr进行验证,因为这通常会导致错误和其他问题。。。确保它是一个数字,可能被10整除(如果你喜欢这个网站的话),可能不大于某个定义的数字,等等
如果您真的仍然不同意,并且想要隐藏它,那么您可以通过在用户的计算机上保存cookie(这仍然以某种方式向用户公开)或在会话中保存页码来实现这一点(尽管对我来说这似乎是对服务器资源的巨大浪费!)
关于你的第二个问题-有太多的可能性…这里有一个方法:
创建查询表中有多少行的sql查询。
假设号码是55。你把它放入一个隐藏的值中
如果您在一页上显示10个项目,则您知道最后一页是第6页(如果您从第1页开始计数,则显示项目50-55)。
加载页面时进行简单的php检查:
如果($\u GET['page']==5)
则不显示“下一步”按钮
类似于以下内容(跳过验证检查和sql查询):
你不能对用户隐藏链接,不管怎样,这都不是真的,也不是安全的。为什么需要阻止用户编辑分页链接?
<?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>';
?>
<input type="hidden" value="<?php echo $itemCount;?>">
<?php
if ($_GET['page'] < ($itemCount \ 10))
{
echo "<a href=\"items.php?page=".($_GET['page']+1)."\">";
}
?>