最近由于项目需要,从一个前端变成了后端,不得不做起后台的工作。想着我成为全栈工程师的伟大目标,更加坚定了自己的干劲儿。虽然之前看过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()进行跳转,解决了项目需求,感觉还不错。

php之间实现跳转并传值相关推荐

  1. 小程序与小程序之间相互跳转、传值、接收参数、navigator、navigateToMiniProgram

    小程序之间相互跳转的2种方法,以及接收另一个小程序传参 目录 一.通过标签 navigator 直接跳转 二.通过事件触发 wx.navigateToMiniProgram 跳转 三.小程序接收另一个 ...

  2. 老式Android中碎片Fragment之间的跳转和数据传递

    随着jetpack组件的使用,fragment之间的跳转和传值已经有相应的demo了.但是有时候难免不用Navigation,或者一些老项目的维护.这里,简单记录下老式fragment怎么跳转和传值. ...

  3. HTML页面之间跳转与传值(JS代码)

    HTML页面之间跳转与传值(JS代码) 跳转的方法如下: 方法一: window.location.href = "b.html"; 方法二(返回上一个页面,这个应该不算,先放在这 ...

  4. 微信小程序和H5之间互相跳转、互相传值

    最近又开始写小程序了,刚好遇到微信小程序和内嵌 H5 之间来回跳转,来回交互:这里记录一下微信小程序和 H5 之间交互的实现:(我的小程序是通过 un-app 框架来写的,内部代码基本都是 vue) ...

  5. ios俩个APP之间跳转、传值

    两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个AP ...

  6. Swift中页面跳转与传值:

    1.简单方式 首先,Swift的跳转可分为利用xib文件跳转与storyboard跳转两种方法,我这里选择使用storyboard的界面跳转方法. 1.通过在storyboard中拉button控件建 ...

  7. swift_004(Storyboard进行界面跳转及传值)

    Storyboard进行界面跳转及传值 方法一 // 方法一 跳转(不用连线) // 获取指定的Storyboard,name填写Storyboard的文件名 let mainStoryboard = ...

  8. 【Android基础】页面跳转与传值(Activity跳转与传值)

    一个Android应用程序很少会只有一个Activity对象,如何在多个Activity之间进行跳转,而且能够互相传值是一个很基本的要求. 本次我们就讲一下,Android中页面跳转以及传值的几种方式 ...

  9. uni-app页面跳转以及传值

    在uni-app中是没有路由这一说法的,想要跳转页面官方给出了以下几种方法: 一.通过配置pages.json里面的tabBar来实现,主要写法请参考官方文档: uni-app官方配置pages.js ...

最新文章

  1. 格灵深瞳算法团队获得NIST人脸识别竞赛全球第一
  2. pip PermissionError: [Errno 13] Permission denied
  3. AprilTags二维码的检测与应用
  4. 让delphi2010操作界面回到delphi7模式
  5. freeswitch 把SIP注册信息数据库从SQLITE 改为MYSQL的方法
  6. 最简单的CSocket通信流程
  7. 高度不定垂直居中_你真的能写好CSS垂直水平居中吗?
  8. java 企业级应用设计规范_一步一步理解Java 企业级应用的可扩展性
  9. NVIDIA教你用TensorRT加速深度学习推理计算 | 量子位线下沙龙笔记
  10. Windows添加启动项的两种方法
  11. iSCSI网络储存应用
  12. 网络安全Bypass网卡详细讲解
  13. uniapp——ios端和android端微信分享,通过打开appStore和应用宝商店下载
  14. Vue3+tsx开发语法详解
  15. 怎么把raw转换成jpg格式?推荐两个raw转jpg的方法
  16. 简单脚本测试--对谈式脚本@read
  17. 谷歌chrome安卓版_谷歌Chrome安卓版测试全新共享界面:二维码和截图来了
  18. SpringBoot 优雅实现动态数据源切换配置
  19. 蛋白质轨迹dcd转成pcb文件
  20. 软件全家桶-持续收录中(个人常用软件)

热门文章

  1. 企业知识库有什么价值?
  2. sql server 2016 Always on 之 数据库处于恢复挂起状态
  3. Android的.dex、.odex与.oat文件扫盲
  4. 本地主机有网络虚拟机没有网络怎么办图文详解
  5. 八路电子抢答器电路设计
  6. 熟人之间的匿名社交还有什么玩法?“偷偷”加入@提醒和阅后即焚私信功能,让定向信息流动更顺畅
  7. 物联网传感技术 第一章无线传感网概述
  8. android bundle 机制,【Android开发】Bundle机制详解
  9. Linux上批量清空日志文件(非删除)
  10. ADO记录集相关知识