1

所以我一直在谷歌上阅读,这只是一堆不同的答案,没有太多解释。

我的问题是如何在 PHP 页面之间切换?假设我的服务器上有一个目录,其中包含以下文件:

index.php
about_us.php
contact_us.php

让我们假设在所有 3 个页面上,我有一个带有 3 个链接的标题:

Home
Info
Contact

当按下其中一个按钮(比如说联系)时会发生什么?

我已经阅读了 3 种技术:

Php: header("contact_us.php")
javascript: window.location = "contact_us.php";
html: <meta http-equiv="Refresh" content="5; URL="contact_us.php">

按照今天的标准,这些是首选吗?我在某处读到您现在不应该使用 php 的 header() 函数。

任何见解都会非常有助于我做出决定:)

4

7 回答 7

10

只需让它们成为常规链接

<a href="contact_us.php">Contact</a>
于 2012-06-07T15:33:01.370 回答
2

只需使用 html 超参考...

<a href="index.php">Home</a> <a href="contact_us.php">Contact Us</a> <a href="about_us.php">About Us</a>
于 2012-06-07T15:34:26.203 回答
2

您只需将它们链接为

<a href="contact_us.php">Contact Us</a>

每当点击链接时,他们都会被带到该页面。如果您是 PHP 新手:您可以在 PHP 中编写 HTML。

于 2012-06-07T15:34:35.327 回答
1

您也可以使用此技术:(不需要数据库)

假设您有一个 index.php 文件:

<?php
$mypage = $_GET['mypage'];
switch($mypage)
{
case "one":
    @include("one.php");
    break;

case "two":
    @include("two.php");
    break;

default:
    @include("default.php");
}
?>

然后像这样引用它:

<a href="index.php?mypage=one">one</a>

And:

<a href="index.php?mypage=two">two</a>

等等

直接调用 index.php 会将您带到 default.php 页面内容。

于 2012-06-07T15:41:31.683 回答
0

你应该直接调用脚本,或者有一个调用它的处理程序(如果你想要漂亮的 url)。

<a href="/contact_us.php">Contact</a>

您不应该使用任何类型的重定向,它会对 SEO 产生不良影响。

于 2012-06-07T15:37:24.610 回答
0

正如其他人所说,您只需要使用常规 html 来制作链接。

您指的是重定向方法,它在没有用户交互的情况下更改当前位置。如果您想这样做,使用 PHP 发送 HTTP 标头header()绝对是首选方法。

于 2012-06-07T15:38:58.000 回答
-1

我只有解决方案:)

<html>
<body>
<button onclick="confirmNav() ? (doubleConfirmNav() ? navigate() : cancelled() ): cancelled();">Contact Us</button>


<script type="text/javascript">

function confirmNav() {
    var r=confirm("Do you really want to navigate to 'Contact Us'?");
    if (r==true) {
      return true;
    } else {
      return false;
    }
}

function doubleConfirmNav() {
    var r=confirm("Are you 100% sure?");
    if (r==true) {
      return true;
    } else {
      return false;
    }
}

function cancelled() {
    alert("cancelling navigation");   
}

function navigate() {
    // purposely delay the redirect to give the image of a high traffic site
     setTimeout(function() {   
         window.location = "contact_us.php";
     }, 5000);   
 }

</script>

</body>
</html>
于 2012-06-07T15:45:41.853 回答