php之間實現跳轉並傳值

來源:互聯網
上載者:User

最近由於項目需要,從一個前端變成了後端,不得不做起背景工作。想著我成為全棧工程師的偉大目標,更加堅定了自己的幹勁兒。雖然之前看過nodejs,但是真正用過的後台語言還是只有php,所以選擇了php這門語言來給同事們寫後台。感覺自己寫的php根本就是僅僅滿足了基本需求,還要不停的學習。

在完成項目的過程中,移動端開發人員要求他們每次都是請求同一個url,然後我這邊根據參數不同在後台實現跳轉,請求對應的php。之前是想著他們不同的請求直接請求對應的php就好了,現實並非如此。

那麼如何在php之間實現跳轉呢。我用的是header()來實現,廢話不多說,直接上代碼:

$serversName=$_POST['serversName'];if($serversName=='register'){    @$phoneNumber=$_POST["phoneNumber"];    @$password=$_POST["password"];    @$nickName=$_POST["nickName"];    @$userId="panaiduan";    @$headImg=$_POST["headImg"];    @$token="abcdefghijklmn";    @$deviceId=$_POST["deviceId"];    @$clientOS=$_POST["clientOS"];    header('Location:register.php?phoneNumber='.$phoneNumber    .'&password='.$password    .'&nickName='.$nickName    .'&userId='.$userId    .'&headImg='.$headImg    .'&token='.$token    .'&deviceId='.$deviceId    .'&clientOS='.$clientOS);}else if($serversName=='login'){    $phoneNumber=$_POST["phoneNumber"];    $password=$_POST["password"];    header('Location:login.php?phoneNumber='.$phoneNumber.'&password='.$password);}else if($serversName=='applyRoom'){    $roomName=$_POST["roomName"];    $channelId=$_POST["channelId"];    $roomDescribe=$_POST["roomDescribe"];    $timeStart=$_POST["timeStart"];    $timeEnd=$_POST["timeEnd"];    $newscast=$_POST["newscast"];    header('Location:createRoom.php?roomName='.$roomName    .'&channelId='.$channelId    .'&roomDescribe='.$roomDescribe    .'&timeStart='.$timeStart    .'&timeEnd='.$timeEnd    .'&newscast='.$newscast);}else if($serversName=='getRoom'){    $phoneNumber=$_POST['phoneNumber'];    header('Location:getRoomInfo.php?phoneNumber='.$phoneNumber);}else if($serversName=='password'){    $phoneNumber=$_POST["phoneNumber"];    $password=$_POST["password"];    header('Location:resetPassword.php?phoneNumber='.$phoneNumber.'&password='.$password);}else if($serversName=='modifyInfo'){    $phoneNumber=$_POST["phoneNumber"];    $nickName=$_POST["nickName"];    header('Location:modifyInfo.php?phoneNumber='.$phoneNumber.'&nickName='.$nickName);}
這就是index.php的代碼,每次他們請求都請求該頁面。

每次請求,都會有一個serversName參數,該參數表示該次請求的目的,是跟移動端人員提前定義好的。根據serversName的值的不同,進行相應的跳轉。

header('url');
header裡面的參數url即為想要跳轉到的頁面,如果想要把參數傳過去,可以使用get方式將請求參數通過index.php傳到目標頁面,這裡有個問題需要注意,請求到index.php是post方式的請求,index.php跳轉到目標頁面是get方式傳參,在目標頁面接收參數時要注意。

header('Location:login.php?phoneNumber='.$phoneNumber.'&password='.$password);
如上這樣就把兩個參數傳遞過去了。

這樣的做法有點像nodejs裡面的路由,我的index.php通過判斷參數裡面的serversName的不同來跳轉到對應的php頁面,並將除serversName外的參數繼續傳遞過去。由於自己剛剛進行php開發,懂得也不多,有什麼問題歡迎大家指出。

通過header()進行跳轉,解決了項目需求,感覺還不錯。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.