首页新闻找找看学习计划

php有分页的留言板,留言成功后怎么返回当前页?

0
悬赏园豆:20 [待解决问题]

比如我在【index.php?p=3】发布留言,成功后怎么返回到 index.php?p=3 这个页面?
在【index.php?p=5】发布留言成功后怎么返回index.php?p=5这个页面?
location.href="这里该怎么写?"

涉及的页面有index.php,doaction.php,edit.php。
不想指定到某个页面,如location.href="index.php?p=1",这样无论在哪个页面留言后返回的总是第一页。
超全局变量$_SERVER好像可以,但修改页面就又不行了,因为返回的是当前页面,点击到修改页面,修改成功后返回的还是修改页面。。。- -

另外还有一个问题,麻烦大神解答一下,谢谢:
输入框内容为空时,点击留言倒是提示不能为空,但是我点击删除它也提示留言内容不能为空,删除不了。把这段代码去掉就可以删除了。。。修改倒是没问题。

//有问题,(不能删除,点击删除还是提示内容不能为空)
if(empty($mes)){
die("<script>alert('留言内容不能为空'); history.go(-1); </script>");
}

include "conn.php";
switch($mod){
case "add":
$sql = "INSERT INTO message(username, mes)
VALUES('$username', '$mes')";
$res = $conn->query($sql);
if(!$res){
die("<script>alert('留言失败!'); history.go(-1); </script>");
}
echo "<script>alert('留言成功'); location.href='".$_SERVER["HTTP_REFERER"]."'; </script>";
break;

case "del":
    $sql = "DELETE FROM message WHERE id=".$id;
    $res = $conn->query($sql);
    if(!$res){
        die("<script>alert('删除失败'); history.go(-1); </script>");
    }
    echo "<script>alert('删除成功!'); location.href='history.go(-1)'; </script>";
    break;

    case "edit":
    $sql = "UPDATE message SET mes='$mes' WHERE id=".$id;
    $res = $conn->query($sql);
    if(!$res){
        die("<script>alert('修改失败'); history.go(-1); </script>");
    }
    echo "<script>alert('修改成功!'); history.go(-1); </script>";
    break;
小小单身的主页 小小单身 | 初学一级 | 园豆:174
提问于:2019-06-22 21:29
< >
分享
所有回答(3)
0

你在编辑的时候把当前页放进去,编辑完成header 跳转的时候在给页码,编辑之后就会返回到对应的列表页了。

无限REIZ | 园豆:3 (初学一级) | 2019-06-23 17:18

链接类似于 edit.php?p=5&id=1 ,这样就可以回到当前页了。你删除和编辑是不是一个php文件,代码从上之下运行,肯定会执行那句代码哈,直接分两个文件就可以了哈

支持(0) 反对(0) 无限REIZ | 园豆:3 (初学一级) | 2019-06-23 17:23
0

那个留言后留在当前页码的功能实现很简单的
有两种方法
都用到jquery 中的 .ajax
第一种:
你的那个页码第五页(就是当前页),是不是有个属性叫class = 'active', 删除成功后调用window.location.replace("addr"),二addr是获取的你当前页码的 a 标签的href属性的值。这样就可以了

第二中:
手动删除,当ajax返回成功后,手动找到被删除的行数的父类标签,然后手动删除就好了,

不过我个人觉得第一种好些,因为减少了代码量,刷新也看不出来

还有就是你的那个弹出 '留言内容不能为空‘ 的问题, 首先你的逻辑就有问题,你把那个留言不能为空放在了最前面,而不是switch语句里面,代码肯定会先执行它,那 '留言内容不能为空‘ 不是应该当 留言 按钮点击时才让它触发的吗

开心的小草 | 园豆:243 (菜鸟二级) | 2019-06-23 23:33

谢谢,第二个问题解决了。
但是 执行后返回当前页还是不太理解,当前页我是这么写的:

支持(0) 反对(0) 小小单身 | 园豆:174 (初学一级) | 2019-06-24 14:36

@小小单身:
写script脚本
'''
....

var url = $("ul .active a").attr("href");  // 得到当前页的a标签的 链接值
 window.location.replace(url);  //然后刷新页面就好了啊
....

'''
这个不难啊

支持(0) 反对(0) 开心的小草 | 园豆:243 (菜鸟二级) | 2019-08-02 21:04

@小小单身: 最近再准备比赛,没怎么逛博客

支持(0) 反对(0) 开心的小草 | 园豆:243 (菜鸟二级) | 2019-08-02 21:04
0

思路是在后台获取到当前的页数,然后负个变量传到前台,前台jq获取,比方 : var page = $(".page").val(); 这时你就可以拿着这个page放在你 window.location.href="index.php?p=page";

王小帅呀 | 园豆:92 (初学一级) | 2019-07-08 10:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册