2011-08-16 54 views
0

我有兩個提交按鈕的形式,我用開關案例的方法來實現代碼。 一個用於SignIn頁面,即它重定向到其他頁面 其他用於NewUser頁面,這個應該重定向到另一個註冊頁面。雙重提交按鈕上php使用開關案例

但我的代碼不工作,下面是代碼。

<?php 

switch($_POST['submit']) 
{ 
case 'SignIn': 

    header('Location : http://localhost/eproject/UserPage.php'); 
    break; 

case 'NewUser': 
echo "NEw user page resgistri"; 
    break; 

default: 
echo "Dont know what you are doing ! "; 
break; 
} 


?> 


<table> 
<form name="form8" method="post" > 
<tr><td>Cutomer Username</td><td><input type="text" name="uname"></td></tr> 
<tr><td>Customer Password</td><td><input type="password" name="pwd"</td></tr> 
<tr><td><input type="submit" value="SignIn" name="submit"></td><td><input type="submit"   value="NewUSer" name="submit"></td></tr> 
</form> 
</table> 
+1

「不工作」是什麼意思?你有沒有注意到你在第二個提交按鈕的名字中輸入了「NewUSer」? – JJJ

回答

0

在HTML

在PHP

  • NewUser大寫value="NewUSer"S
+0

謝謝!!,但是當SignIn按鈕發佈後,它應該重定向到UserPage.php,但那不起作用。 UserPage.php的代碼在'echo $ _POST ['uname']; echo $ _POST ['pwd']' – uzair

+0

@Mohammed Uzair Ahmed ::打開[錯誤報告](http://php.net/manual/en/function.error-reporting.php),看看錯誤說了什麼。另外請注意,沒有瀏覽器輸出可以出現在header()調用之前 - 否則它將不會運行(這包括,空行等...) –

+0

@Mohammed(沒有測試,所以如果即時通訊錯誤,抱歉)您所在的頁面將用戶重定向到可能不再有帖子值。 – jvv

0

這將是更好地使用隱藏的輸入字段,如:

<input type="hidden" name="thefieldname" value="thevalue" /> 

那麼你可以使用switch語句是這樣的:

switch($_POST['thefieldname']){ 
    case '': 
     ..... 
     break; 
} 
+1

我假設OP希望在表單上擁有兩個提交按鈕,就像他現在一樣。您必須使用JavaScript切換隱藏字段的值,而不是使用基本的HTML表單控件。這將如何「更好」? – JJJ

0

要輕鬆地找出這樣的錯誤(NEWUSER而不是NEWUSER),如果代碼不工作,第一次使用GET方法並檢查它是否工作中。如果不是,請檢查地址欄中的所有GET變量。這將有助於簡化調試。

0

一個

header("location: .... 

後每個人都應該使用

die(); 

,以避免處理的腳本的其餘部分。