重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
所谓的传递数值,一般都是在访问该页面的时候起作用,所以你只需要将搜索的值保存在某个全局变量,到用的时候再取出来就可以。
员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。创新互联建站坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供网站建设、做网站、微信公众号开发、电商网站开发,微信小程序定制开发,软件按需网站策划等一站式互联网企业服务。
一般搜索传递使用的是$_POST数组,你可以在调用C页面时,将$_POST相关的值重新设置下就可以,或者可以直接用网址进行参数的传递。
值传递是将右边变量的数据值本身,拷贝一份,赋值给左边变量。
例如:
可见:值传递之后,两个变量互不影响,相互独立,没有关系了,各自有各自的存放空间,改变一个,另一个不受影响。
原理如下:
引用传递是将右边变量对数据的引用关系,传给左边的变量
原理如下:
引用传递,后一个变量的值,会随着前一个变量的值的改变而改变。
GET 如:a href=目标页面?id=1test/a;将传输给目标页面一个变量名称为“id” 值为1的这变量。目标页面引用时采用 $id_tem=$_GET["id"];
POST是由原页面中的表单form中传递过来的,引用时采用:
$目标页面的变量=$_POST["表单的name"]即可
一、表单传递:
----------------------page1.htm-----------------
PHP:--------------------------------------------------------------------------------
html
form name="form1" method="post" action="page2.php"
input type="submit" name="Submit" value="提交"
input type="hidden" name="a" value="hello"
/form
/html
--------------------------------------------------------------------------------
------------------------page2.php---------------------
PHP:--------------------------------------------------------------------------------
?
$a=$_POST["a"]; //$a的值为“hello”
?
--------------------------------------------------------------------------------
二、超链接传递:
-------------------page1.php----------
PHP:--------------------------------------------------------------------------------
?
$a="hello";
?
a href=page2.php?a=? echo $a ?转到/a
--------------------------------------------------------------------------------
-------------------page2.php-------------------
PHP:--------------------------------------------------------------------------------
?
$a=$_GET["a"]; //$a的值为“hello”
?
--------------------------------------------------------------------------------
三、重定向传递:
1、
-------------------page1.php----------
PHP:--------------------------------------------------------------------------------
?
ob_start();
$a="hello";
header("Location:page2.php?a=".$a);
ob_end_flush();
?
--------------------------------------------------------------------------------
或2、
----------------------------------------
PHP:--------------------------------------------------------------------------------
?
ob_start();
$a="hello";
echo"scriptLocation='page2.php?a=".$a."';/script");
ob_end_flush();
?
--------------------------------------------------------------------------------
或3、
----------------------------------------
PHP:--------------------------------------------------------------------------------
?
ob_start();
$a="hello";
echo"META HTTP-EQUIV='Refresh' CONTENT='0;URL=page2.php?a=".$a."'";
ob_end_flush();
?
--------------------------------------------------------------------------------
-------------------page2.php-------------------
PHP:--------------------------------------------------------------------------------
?
$a=$_GET["a"]; //$a的值为“hello”
?
--------------------------------------------------------------------------------
四、用COOKIE传递的方法:
-------------page1.php-----------------------
?
$a="hello";
setcookie("a","$a");
?
-------------page2.php-----------------------
?
$a=$_COOKIE["a"];
echo $a;
?
五、用SESSION传递的方法:
-------------page1.php-----------------------
?
session_start();
session_register("a");
$a="hello";
?
-------------page2.php-----------------------
?
$a=$_SESSION["a"];
echo $a;
?
举个例子:你想在用户点击时,把 apple 这个字符串,通过前端传给后端。
前端,用 jQuery 举例:
$('button').click(function () {
$.ajax({
url: '/xxx',
method: 'post',
dataType: 'json',
data: {fruit: 'apple'}
}).done(function (res) {
// 成功后的回调
}).fail(function (err) {
// 失败后的回调
});
});
后端 PHP 处理:
$fruit = $_POST['fruit']; // 获取从 ajax 传过来的 fruit 的值,这里是 apple。
如果你想在前端重新显示这个字符串 apple,那么你要用 PHP 把数据返回给页面,然后在上面 “// 成功后的回调” 里面,补充逻辑代码。
例如 PHP 把 apple 返回给前端:
return json_encode(array('fruit' = 'apple'));
前端回调处理:
// 成功后的回调
alert(res.fruit); // 弹框显示 “apple”
实际上,$_POST 能够获取所有从前端用 post 方式提交过来的数据,不管你是页面刷新方式,还是 ajax(jQuery 才叫 ajax,实际上它是 XMLHttpRequest,异步非阻塞的请求方式)