<?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>';
?>
我想隐藏我的页面链接,如何隐藏,以便用户无法编辑它。
第二个问题,
目前我在每个页面上显示总共10条记录,然后是下一页按钮,但即使没有更多记录,下一个按钮也会继续显示...!如何在记录结束时删除下一页按钮。 ??
第28行是指向任何用户都可以轻松编辑的网页的链接,我想让它们安全(使用ID)
和第35行是n'next'页面链接,当记录数量结束时不应出现此链接
答案 0 :(得分:2)
我想不出你为什么要在链接中隐藏用户的页码。将它们作为$_GET
变量保存在查询字符串中可能是我在此特定分页情况下最常见的做法。
我会对$_GET
变量中收到的数字进行验证,因为这通常会导致SQL Injection和其他问题......确保它是一个数字,可能被10整除(如果这就是你喜欢这个网站的方式,也许不会超过某个定义的数字等等......
如果您真的仍然不同意,并且您想隐藏它,那么您可以通过在用户的计算机上保存cookie(这仍然以某种方式向用户公开)来保存,或者将页码保存在会话(虽然这对我来说似乎是对服务器资源的一大浪费!)。
关于你的第二个问题 - 这有很多可能性......
这是一种方式:
创建一个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)."\">";
}
?>
使用这个,我会添加一个检查,以确保用户不会输入大于此数字的数字,如果他们这样做,只需将它们重定向到他们可以的最后一个数字。