2012-06-07 163 views
0

所以我一直在谷歌閱讀,這只是一個混亂的不同的答案,沒有太多的解釋。在php導航頁面

我的問題是如何切換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()函數。

任何有識之士將是非常巨大的幫助我做出了我的決定:)

+0

這些技術被重定向,而不是鏈接,他們應該改變基於代碼或時間的網頁,而不是基於用戶輸入等 –

+0

如果你正在建設一個網站,在做有限的PHP體驗時要非常小心。最終你會希望能夠'重新使用'你的HTML頁面的一部分,並且能夠編輯HTML內容。從長遠來看,您可能更願意考慮像WordPress,Joomla或Drupal這樣的內容管理軟件。但是我會避免再讓你灰心,因爲PHP是一種很好的語言。 –

+0

感謝您的評論。我對於自己作爲程序員的技能感到滿意,對於PHP來說就不那麼容易了,一旦我回到了原來的狀態,它應該沒問題:) :) – Toadums

回答

9

只是讓他們定期聯繫

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

一個簡單的解決方案...大聲笑爲什麼我不是這樣想想那個.....謝謝!會做(除非別人不同意) – Toadums

+0

哈哈不,不,斯科特的回答肯定是要走的路:) –

+1

我不會建議任何其他方式。 –

2

只需使用HTML超級引用...

<a href="index.php">Home</a> <a href="contact_us.php">Contact Us</a> <a href="about_us.php">About Us</a> 
2

你只是讓他們鏈接像

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

並且每當鏈接被點擊時,他們將被帶到該頁面。如果您是PHP新手:您可以使用PHP編寫HTML。

+0

我是...非常生疏的PHP/HTML,剛回到它約2年後(顯然完全忘記了)。 – Toadums

+0

隨時隨地問! .php擴展名在那裏,所以你可以使PHP調用相同的頁面,並做一堆其他的東西。在HTML中,您無法進行PHP調用,但您可以使用表單,但可以調用不同的頁面,即.php或其他處理該語言的語言。 – Grigor

+0

這裏是一個問題。如果您有機會使用HTML編寫,那麼回覆html:<?php echo「」?>還是隻寫出 Toadums

0

你應該直接調用腳本,或者有一個調用它的處理程序(以防你想要很好的URL)。

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

您不應該使用任何形式的重定向,它會對搜索引擎優化造成不良影響。

0

正如其他人所說,你只需要使用普通的html來建立鏈接。

您指的是重定向方法,它會在沒有用戶交互的情況下更改當前位置。如果你想這樣做,使用PHP的header()發送HTTP頭肯定是首選的方法。

+0

就行了,如果你想在沒有用戶按下按鈕或其他東西的情況下改變頁面,你可以使用上面提到的方法之一(像例如超時?) – Toadums

+0

發送HTTP標頭立即改變頁面位置。如果您想在一段時間後更改頁面,則需要使用JavaScript或元標記。但是,我想不出你爲什麼想要做後者的明智理由。 – ddlshack

+0

好的,太好了,謝謝! – Toadums

2

您也可以使用這種技術:(不需要數據庫)

假設你有一個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頁面的內容。

-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> 
+0

我忘了'',因此-1。我很抱歉。 –

+1

沒有biggie,我把它撞回+1 ;-)乾杯〜 –