为什么页面之间无法传递变量
来源:互联网 发布:淘宝汽车摆件饰品 编辑:程序博客网 时间:2024/09/21 09:20
我们定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用。
--------------------------------------------------------------------------------
第一种:
使用客户端浏览器的cookie。cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,浏览器在浏览的过程中记录一些信息,就暂时存放在这里。
在page01中设置一个cookie。
<?php
setcookie('mycookie','自灵');
?>
就是这么简单,我们已经创建cookie完毕。
我们定义了一个变量mycookie,它的值是字符串'自灵'。
我们可以随便给cookie变量起名字,可以定义多个cookie变量。
在page02页面接受cookie。
<?php
$wuziling = $_COOKIE['mycookie'];
echo $wuziling;
?>
我们使用$_COOKIE[]提取cookie中的变量mycookie,将它的值付给$wuziling。然后简单的输出。
好了,到这里使用cookie从页面之间传递参数完毕。
--------------------------------------------------------------------------------
第二种:
使用服务器端的session。理解session是一件很容易的事情。与cookie的不同在于它是服务器端的临时储藏室。session常被称作会话。
在page01中设置一个session。
<?php
session_start();
$_SESSION["temp"]=array('123','456','789');
?>
要想使用session,必须启动session。session_start();就是启动session的方法。一般要写在最前面。
第二个语句我定义了一个$_SESSION["temp"]数组,数组的名称是$_SESSION["temp"],里面存储了3个字符串。
在page02页面接受session。
<?php
session_start();
for($i=0;$i<3;$i++)
{
echo $_SESSION['temp'][$i].'<br />';
}
?>
首先启动会话。启动后我们在page01定义的变量已经可以使用了,不需要其他任何获取的操作,这里不同于cookie。
下面我们使用for循环将其内容输出。
【不要以为$_SESSION['temp'][$i]是一个二维数组,它是个一维数组,数组的名称是$_SESSION["temp"],虽然这个名称比较繁琐,数组的下标是'temp'】
【我们在写$_SESSION["temp"]时,temp加双引号或者单引号都是等价的。】
【这里我们定义会话变量时定义的是数组,也可以定义普通变量,就像cookie里面讲到的】
--------------------------------------------------------------------------------
第三种:
使用表单来传递。
page01.php这样写:
<form action="page02.php" method="post">
<input type="text" name="wuziling" />
<input type="submit" name="submit" value="提交" />
</form>
表单内的属性action直接指定此表单内容传递到哪个页面。method指明了传递的方式。post代表使用消息传递,就像我们发短信一样。
page02.php这样写:
<?php
$wu = $_POST['wuziling'];
echo $wu;
?>
用$_POST[ ]获取传递过来的变量值。这个变量名wuziling在表单的input标签的name属性里定义。
然后将其传递给另外一个变量$wu。这样我们就可以输出了。直接输出也是可以的,echo $_POST['wuziling'];
【如果哪里不明白,请参考本版块的另外一个详细介绍表单提交的帖子】
【method的值也可以是get】
--------------------------------------------------------------------------------
第四种:
使用超链接传递参数。我们上网的很多操作都是点击超链接在网页之间跳来跳去。点的同时同样可以传递参数。
page01.php这样写:
<?php
$var = 'I love you !';
?>
<a href="<?php echo "page02.php?new=".$var ?>">get</a>
定义一个变量$var。
超链接a的href属性里写明要跳转到page02页面。后面加一个问号,一个自己定义的变量new【此名称在page02页面要使用】,new的值就是我们想传递的$var。
page02.php这样写:
<?php
echo $_GET['new'];
?>
使用$_GET[ ]获取new的值,然后就可以输出或做其他用途。
--------------------------------------------------------------------------------
第一种:
使用客户端浏览器的cookie。cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,浏览器在浏览的过程中记录一些信息,就暂时存放在这里。
在page01中设置一个cookie。
复制代码 代码如下:
<?php
setcookie('mycookie','自灵');
?>
就是这么简单,我们已经创建cookie完毕。
我们定义了一个变量mycookie,它的值是字符串'自灵'。
我们可以随便给cookie变量起名字,可以定义多个cookie变量。
在page02页面接受cookie。
复制代码 代码如下:
<?php
$wuziling = $_COOKIE['mycookie'];
echo $wuziling;
?>
我们使用$_COOKIE[]提取cookie中的变量mycookie,将它的值付给$wuziling。然后简单的输出。
好了,到这里使用cookie从页面之间传递参数完毕。
--------------------------------------------------------------------------------
第二种:
使用服务器端的session。理解session是一件很容易的事情。与cookie的不同在于它是服务器端的临时储藏室。session常被称作会话。
在page01中设置一个session。
复制代码 代码如下:
<?php
session_start();
$_SESSION["temp"]=array('123','456','789');
?>
要想使用session,必须启动session。session_start();就是启动session的方法。一般要写在最前面。
第二个语句我定义了一个$_SESSION["temp"]数组,数组的名称是$_SESSION["temp"],里面存储了3个字符串。
在page02页面接受session。
复制代码 代码如下:
<?php
session_start();
for($i=0;$i<3;$i++)
{
echo $_SESSION['temp'][$i].'<br />';
}
?>
首先启动会话。启动后我们在page01定义的变量已经可以使用了,不需要其他任何获取的操作,这里不同于cookie。
下面我们使用for循环将其内容输出。
【不要以为$_SESSION['temp'][$i]是一个二维数组,它是个一维数组,数组的名称是$_SESSION["temp"],虽然这个名称比较繁琐,数组的下标是'temp'】
【我们在写$_SESSION["temp"]时,temp加双引号或者单引号都是等价的。】
【这里我们定义会话变量时定义的是数组,也可以定义普通变量,就像cookie里面讲到的】
--------------------------------------------------------------------------------
第三种:
使用表单来传递。
page01.php这样写:
复制代码 代码如下:
<form action="page02.php" method="post">
<input type="text" name="wuziling" />
<input type="submit" name="submit" value="提交" />
</form>
表单内的属性action直接指定此表单内容传递到哪个页面。method指明了传递的方式。post代表使用消息传递,就像我们发短信一样。
page02.php这样写:
复制代码 代码如下:
<?php
$wu = $_POST['wuziling'];
echo $wu;
?>
用$_POST[ ]获取传递过来的变量值。这个变量名wuziling在表单的input标签的name属性里定义。
然后将其传递给另外一个变量$wu。这样我们就可以输出了。直接输出也是可以的,echo $_POST['wuziling'];
【如果哪里不明白,请参考本版块的另外一个详细介绍表单提交的帖子】
【method的值也可以是get】
--------------------------------------------------------------------------------
第四种:
使用超链接传递参数。我们上网的很多操作都是点击超链接在网页之间跳来跳去。点的同时同样可以传递参数。
page01.php这样写:
复制代码 代码如下:
<?php
$var = 'I love you !';
?>
<a href="<?php echo "page02.php?new=".$var ?>">get</a>
定义一个变量$var。
超链接a的href属性里写明要跳转到page02页面。后面加一个问号,一个自己定义的变量new【此名称在page02页面要使用】,new的值就是我们想传递的$var。
page02.php这样写:
复制代码 代码如下:
<?php
echo $_GET['new'];
?>
使用$_GET[ ]获取new的值,然后就可以输出或做其他用途。
这时的浏览器地址栏可以直接看到new变量和它的值。
可以先检查PHP安装文件中的php.ini文件,检查里面的register_globals=On;如果是OFF,改成On。
1 0
- 为什么页面之间无法传递变量
- 转载:C 指针传递变量为什么无法修改变量值
- 在两个ASP.NET页面之间传递变量
- php中页面之间传递变量方法总结
- register_globals使用详解 为什么我的表单无法传递数据?为什么我的程序无法得到传递过来的变量?
- 页面之间传递值
- 页面之间传递参数.
- 页面之间传递参数
- 页面之间传递值
- 页面之间传递数据
- 页面之间值传递
- 页面之间传递参数
- 同一个页面变量传递
- JMeter 线程之间传递变量
- 两个html之间传递变量
- Jmeter 线程之间传递变量
- 在两个ASP.NET页面之间传递变量 (QueryString,Session和Server.Transfer)
- 页面之间传递值(续)
- spring知识点
- Spring声明式事务管理的配置
- 第2.3.2章 WEB系统最佳实践属性配置之jdbc.properties
- 51nod-【1270 数组的最大代价】
- jsp九大内置对象
- 为什么页面之间无法传递变量
- 面向对象七大原则
- 什么是基线(Baseline)?
- MAVEN学习
- (提高篇)第一讲 项目 简单的函数运用(二)
- 从头到尾彻底理解傅里叶变换算法
- 设置Webview的页面缩放大小
- spring知识点2
- mysql备份导出的数据为空