【PHP】laravel怎么获取网址里面的参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【PHP】laravel怎么获取网址里面的参数相关的知识,希望对你有一定的参考价值。

一个完整的网址中有utm_source、utm_medium、utm_campaign、utm_content这些参数,当访问这个网址的时候。我要获取 访问时间、utm_source、utm_medium、utm_campaign、utm_content,存入一个数组。多次访问中,将每次访问的数组放到一个总的数组view_list里面去,顺序按访问的时间先后来。如果当前需要插入的数组和总数组中最后一个数组一样,那么就不用插入,然后记录为last_view.数据库表名iteminfo

求详细解答

. 如果好可以追加

参考技术A 获取网址参数直接get就行了啊
$view = array();

$view_list = array();
$view[source] = $_GET['utm_source'];
$view[medium] = $_GET['utm_medium'];
$view[campaign] = $_GET['utm_campaign'];
$view[content] = $_GET['utm_content'];
$time = time();
$view_list[$time] = $view;
参考技术B parse_url

(php 3, PHP 4, PHP 5)
parse_url -- 解析 URL,返回其组成部分
参考技术C <?php
$found = false;
$view = array();
$view_list = isset($_SESSION['view_list'])?$_SESSION['view_list']:array();
$view["utm_source"] = $_GET['utm_source'];
$view["utm_medium"] = $_GET['utm_medium'];
$view["utm_campaign"] = $_GET['utm_campaign'];
$view["utm_content"] = $_GET['utm_content'];
$time = date("Y-m-d H:i:s",time());
foreach($view_list as $row)
if( $row["utm_source"]==$view["utm_source"] &&
$row["utm_medium"]==$view["utm_medium"] &&
$row["utm_campaign"]==$view["utm_campaign"] &&
$row["utm_content"]==$view["utm_content"] &&)
//检测重复
$found = true;
break;


if(!$found)
$view_list[$time] = $view;
$_SESSION['view_list'] = $view_list;
$_SESSION['last_view'] = $view;


//以上是保存访问历史部分
?>

<?php
//下面是在提交时将数据保存到数据库的部分
$view_list = json_encode($_SESSION['view_list']);//将总数组编码后的字符串
$view_last = json_encode($_SESSION['last_view']);//将最后一次访问编码成字符串

//以上两个数据存入数据库即可

?>

<?php
//从数据库获取数据
//从数据库取到数据后进行一次json解码就可以拿到原来的数组了如下:
//$view_list_str $last_view_str分别是从数据库中读出来的字符串
$view_list_array = json_encode($view_list_str);
$view_last_array = json_encode($last_view_str);

?>

本回答被提问者采纳

Django怎么获取get请求里面的参数

 

获取get请求里面参数的两种方法之三种写法
一,当get网址是127.0.0.1:8000/info/?id=20&s_id=30这种类型的网址时

我们在urls的路由的urlpatterns里面里面这样定义路由

url(r‘info/$‘,views.info),
那么我们怎么把参数取出来呢 因为我们调用的是views里面的info函数,所以我们可以这样获取到

通过request.GET获取请求携带的参数

def info(request):
if request.method==‘GET‘:
ID=request.GET.get(‘id‘,default=‘110‘)
s_id=request.GET.get(‘s_id‘,default=‘111‘)
这样就获取到了get请求的两个参数

 

二、当get网址是127.0.0.1:8000/myid/10/110这种类型的网址时

我们获取参数通常有两周方法

方法1:

在urls的路由的urlpatterns里面里面这样定义路由

url(‘^myid/(d+)/(d+)/$‘,views.myid),
那么我们怎么把参数取出来呢 因为我们调用的是views里面的myid函数,所以我们可以这样获取到

函数要和url中规定的参数的个数一致,在对应的函数中可以自定义参数名称

myid/(d+)/(d+)这种形式的url规则

def myid(request,ID,s_id):
参数就取出来了

方法2:

假设网址是127.0.0.1:8000/sum/10/sss这个网址

在urls的路由的urlpatterns里面里面这样定义路由

url(r‘^sum/(?P<a>d+)/(?P<name>w+)/$‘,views.sum)
那么我们怎么把参数取出来呢 因为我们调用的是views里面的sum函数,所以我们可以这样获取到

sum/(?P<a>d+)/(?P<name>w+)/$ 这种形式的url规则,在对应的函数中必须制定参数名为规则中的名称

def sum(request,a,name):
参数就取出来了













以上是关于【PHP】laravel怎么获取网址里面的参数的主要内容,如果未能解决你的问题,请参考以下文章

laravel 框架 视图 里面怎么用php函数

php中laravel框架的控制器如何获取路由传过来的可选参数?

Django怎么获取get请求里面的参数

php模拟浏览器获取get后返回的所有网址

php函数里面怎么获取post过来的值

PHP Laravel框架入门心得