重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、用form表单中的hidden隐藏域。这种方法就是把待传递的变量用表单的方式再次传送,比如在用户登陆后,把他的信息如$username、$id等等信息用表单发送到下一张网页,当然,很多情况,是诸如text、option等等框体不想再被看到的话,可以采用隐藏的输入域。下面是一个实例,假设$username是经过上页为验证身份发送到本页并且在本页经过验证的变量,想传递到下一页中去,那么可以建立文件test4.PHP:
我们提供的服务有:网站设计、成都做网站、微信公众号开发、网站优化、网站认证、博野ssl等。为上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的博野网站制作公司
?$username="张明";?
form method="post" action="test5.php"
input type="hidden" name="username" value="?echo $username?"
input type="submit" name="submit" value="看看"
/form
test5.php:
?echo "你好,$username,欢迎光临php自学网!";?
打开apache服务器,输入在页面的按钮上点击,会发现新出的网页上$username的值已经传送过来了。
当然这种方法的弱点是很明显的,它还要再使用一个表单,而且在test5.php的网页上想要刷新的话还要重新发送,这显然是不太友好的。
二、使用session。后来,我查找了一些关于session的文章,觉得这时传递变量的一种非常好的方法。下面通过举例子来说明:
建立一个新文件test6.php:
?session_start(); //初始化一个session
session_register("username"); //注册一个session变量
$username="张明"; //要传递的变量值
echo "a href=test7.php去看看/a";
?
test7.php:
?session_start(); //初始化一个session
echo "你好,$username,欢迎光临php自学网!";? //显示传递过来的变量
使用这种方法的时候要注意:?session_start();?应该放在文件的最前面,即"?"前面不应有任何内容,包括空格,这是我调试多次未成功找出的原因。
这个变量只能在当前打开的浏览器中传递,若要在新打开的窗口中也能传递,刚要按下面的方法来做:
文件:test8.php
?session_start();
session_register("username");
$username="张明";
echo "a href=test7.php?$a=".session_id()." target=_blank去看看/a"; //将当前的session的id值传给下一个窗口。
?
test7.php
?session_start();
echo "你好,$username,欢迎你的光临!";?
三,通过cookie
建立文件test9.php
?SetCookie("username","张明");//把username设置到cookie中去
echo "a href=test5.php target=_blank去看看/a";?
文件test5.php
建立test5.php:
?echo "你好,$username,欢迎你的光临php自学网!";?
总结:以上只是一些常用的方法,还有很多的方法,如可以使用数据库,memcache等等.在此不做过多介绍.
1:表单提交,在表单中输入留言,然后提交表单到后台PHP;
2:PHP接收表单数据,然后处理数据:一般做存表操作;
3:在另外一个页面显示:访问另外一个页面,PHP读取表中存储的数据,显示给用户
你大概要先搞清楚 页面(前端) 和 PHP(后端) 的关系;
第一个页面 由 A.php完成, 提交后 输入的内容 交给B.php 由B.php 生成第二个页面。
这个时候 A.php已经不起作用了。 A.PHP 提交的内容在服务器端的 全局变量$_POST['name']里面(name 就是A.PHP中TEXTAREA 标签的name 属性值)。
注意 : 第一个页面不存在了,要想显示第一个页面的内容,就在B.php.中把第一个页面复制一遍。把重新建立一个textarea 标签 默认值是你要显示的值,
可以用session和表单两种方式都是先将数组序列化,然后取出后返序列化
1.session方式
?php
session_start();
$arr = array(1,2,3,4,5,6);
$arrse = serialize($arr);
$_SESSION['sessarr'] = $arrse;//序列化,对象或者数组都可以这样存放到session中
//如果你想使用session数据返回数组的话
$arr = unserialize($_SESSION['sessarr']);//反序列化
echo $_SESSION['sessarr'];
echo "br";
print_r($arr);
?
2.表单方式
form method="POST" action="1.php"
input type="hidden" name="post_data" value="?=base64_encode(serialize($arr))?" /
/form
1.php
?
print_r(base64_encode(unserialize($_POST['post_data'])));
?
可以这样:
你要在form /form标签里加个隐藏的表单,如这样:
table width="531"
tr
th width="50"姓名:/th
th width="144"?php echo $row["name"]?input type="hidden" name="realname" value="?=$row["name"]?" //th!--每个里面加上这上一个隐藏的表单,这样你提交之后就可以在另外一个页面获取值了--
th width="53"性别:/th
th width="90"?php echo $row["sex"]?/th
th width="46"年龄:/th
th width="120"?php echo $row["age"]?/th
/tr
/table
input name="updata" type="submit" value="修改" /
/form
在另外一个页面这样获取值:
$name=$_POST['realname']; //这样在test.php页面就取到人名的值了
其他值同理