我想很多朋友和我一样会遇到这个问题,特别是新手。或者用习惯了模型的朋友都一样。在原生的php中找到一个类似于 smarty或其他模板中的 $this -> assign();。
终于有一天我忍不住了,翻阅了一些资料;找到了一个比较可行的办法。虽然未用到模型中实现assign的方法,但是作为一个替代方法我觉得还是可行的。
在提供一些类似问题的思路。
1. html 页面向 php 等页面(后台处理页面)提交数据可以用两种方法:
<1>. form表单提交;这个方法我不具体写了,大家可以查阅网络资料。一堆一堆的。
<2>. AJAX;可以用JS原始的AJAX或者jQuery封装的AJAX都可以实现。本人博客中有对AJAX进行分析部分,可以自行查阅。
2. (本文主要部分)php页面向html/php页面提交数据
<1>. session、cookie 方法;php有方法可以直接向session或cookie提交数据,所以可以之间将要传输的数据提交到这两个超全局变量中,然后在接收页面中获取。暂时没有实例,但可以提供一个思路给大家。但是据说提交到session和cookie不是特别好,具体的原因我也没有找到相关说明。所以为了满足需求就使用了一下的方法。
<2>. header( 'location: URL' . $data ),我称为url外加数据方法;
假设遇到一个问题,既是将一个php页中的数据提交到另外一个php页面中。除了include/require,因为该方法引用的整个文件。就可以用我推荐的这个方法。一下是实例
原始页面:
<?php
$dataList = mysql_query( $sql ); // 通过数据库获取数据,类型:数组或其他
$dataList = serialize( $dataList ); // 如果是数组数据则将其序列化成字符串形式的数据
header( 'Location: ./****.php?data=' . $dataList ); // 通过http发送出去
?>
接收页面:
<?php
$dataList = unserialize( $_GET['data'] ); // 反序列化,将返回原有数据的形式
// 其他处理过程
?>
用该方法就可以实现php跨界面数据传输,该方法比较简洁清晰。不失为一个好的思路