2016-03-03 63 views
0

我想要製作一個簡單的表單,當輸入某些文本時,它將重定向到另一個頁面。從文本輸入轉到頁面

形式:

<form action="goto.php" method="post"> 
Destination: <input type="text" name="destination"> 
<input type="submit"> 
</form> 

我不確定如何設置goto.php以達到預期的效果。我基本上要像下面這樣:

<?php 
if ($_POST["destination"]="mail") { 
    header('Location: /mail/'); 
} elseif ($_POST["destination"]="forms") { 
    header('Location: /forms/'); 
} else { 
    echo "Invalid"; 
} 
?> 

然而,這並不工作,因爲這樣header();作品使形式去/mail/不管輸入什麼文字。我如何解決這個問題以達到我想要的結果?

+3

你沒有比較,你正在分配。使用'=='而不是'=' –

+0

http://stackoverflow.com/questions/2063480/the-3-different-equals – Qirel

回答

1

分配'mail'$_POST["destination"]返回true,以便if有效

做到這一點,而不是:

<?php 
if ($_POST["destination"] =="mail") {//Note the == 
    header('Location: /mail/'); 
} elseif ($_POST["destination"]=="forms") { //Note the == 
    header('Location: /forms/'); 
} else { 
    echo "Invalid"; 
} 
?> 

更多見this上比較操作

希望這有助於!

1

你可以做那樣的事情。在你的病情,你只是屬性的目的地,你做只有一個標題(...)

<?php 
if ($_POST["destination"] === "mail") { 
    $destination = '/mail/'; 
} elseif ($_POST["destination"] === "forms") { 
    $destination = '/forms/'; 
} else { 
    echo "Invalid"; 
    return; 
} 
header('Location: ' . $destination); 
?>