php实现点击页面链接进入其他页面(跳转)

用URL带标题查数据库,简单直接。

detail.php里这么写: php <?php $title = $_GET['title']; $sql = "select from news_detail where title='$title'"; $result = mysql_query($sql); $row = mysql_fetch_assoc($result); ?>
数据库要提前建好。

如何在PHP中实现跳转到指定页面的功能

哎,跟你唠唠我当年搞PHP跳转那会儿的事儿。

去年在杭州做项目,有个客户非要页面跳转的时候显示个“正在转中”的提示,不然觉得不专业。
我一开始想用header直接跳,结果发现页面已经输出了点东西,比如一个加载动画,一用header就报错,说Header already sent。
这真是头疼,客户看着还以为我代码写坏了。

后来我就琢磨,行,用JS跳转吧。
就在PHP里echo了一堆JS代码,[xss_clean] _window.location.href="https://www.example.com/newpage.php"; [xss_clean],这样不管有没有输出,都能跳转。
不过有次在一个老浏览器上测试,发现动画根本没显示,直接就跳走了,用户体验一般。
后来我又试了个方法,用<meta http-equiv="refresh" content="0;url=https://www.example.com/newpage.php">,这个至少兼容性好,虽然跳转前啥也不显示,但至少不会报错。

不过最稳妥的一次,还是在广州另一个项目。
那次是做权限跳转,用户登录后要跳转到之前的页面,但我不能直接用header,因为用户可能在登录页输入了些东西还没提交。
我就用了JS跳转,但加了延迟,[xss_clean] setTimeout(function(){ _window.location.href="https://www.example.com/prevpage.php"; }, 3 000); [xss_clean],给了3 秒时间,这样用户感觉上还有点反馈。
后来我还加了安全检查,防止有人改链接跳转到坏地方,$allowedDomains数组里列了几个可信域名,不是这些域名就直接die掉,没毛病。

总的来说啊,没输出就用header,快又好。
有输出就用JS或者Meta标签,看情况。
复杂场景就结合着用,比如登录用header,表单错误用JS延迟跳转。
我这十年踩过的坑里,跳转问题可不少,但慢慢就找对路子了。

php如何实现页面跳转?php页面重定向的几种实现方式

直接用header('Location:URL');exit; 状态码3 01 永久重定向,3 02 临时重定向,3 03 POST后跳转。
绝对路径跳转最稳妥,比如https://example.com/new_page.php。
不用meta标签或js跳转,服务器端控制最靠谱。
带参数跳转用GET,比如header('Location:search.php?q=关键词');exit; 敏感数据用session传递,跳转后unset($_SESSION['data'])。
不用cookie传递重要数据,setcookie('key', 'value');exit; header前不能有任何输出,包括空格换行BOM头。
用ob_start();ob_end_clean();解决HeadersAlreadySent错误。
跳转后必须加exit,防止后续代码乱执行。
绝对路径跳转避免路径错误,比如http://host/path/to/page。
状态码选错影响SEO,3 01 是永久移动,3 02 是临时。
推荐header跳转,高效安全SEO友好好维护。
你自己掂量。