$citation = new Citation();
$citation->user_id = $result['pmid'];
$citation->pmid = $result['volume'];
$citation->volume = $result['volume'];
$citation->issue = $result['issue'];
$citation->year = $result['year'];
$citation->month = $result['month'];
$citation->pages = $result['pages'];
$citation->issn = $result['issn'];
$citation->journal = $result['journal'];
$citation->journalabbrev = $result['journalabbrev'];
$citation->title = $result['title'];
$string_data = serialize($citation);
HTML
<input type="checkbox" name="citation" value="<?php echo $string_data; ?>">
POST前的$string_data输出=
O:8:"Citation":16:{s:7:"user_id";s:7:"8046837";s:4:"pmid";s:2:"52";s:6:"volume";s:2:"52";s:5:"issue";s:1:"6";s:4:"year";s:4:"1994";s:5:"month";s:3:"Jun";s:5:"pages";s:6:"1535-8";s:4:"issn";s:9:"0047-1852";s:7:"journal";s:51:"Nihon rinsho.日本临床医学杂志;s:13:“Nippon Rinsho”;s:5:“title”;s:46:“sarcoidosis.";s:8:"abstract";N;s:11:"affiliation";N;s:7:"authors";N;s:9:"articleid";N;s:8:"keywords";N;}中的支气管镜分类”
而在可以不序列化..。
$new = unserialize($string_data);
print_r($new);
给予..。
引文对象( user_id => 8046837 pmid => 52卷,=> 52卷,=> 6 a,=> 1994月=> Jun pages => 1535-8 issn => 0047-1852期刊=> Nihon )。日本临床医学杂志,简称=>日本Rinsho,=>支气管镜在结节病分类。摘要=>从属关系=> authors => articleid =>关键词=> )
但是,当我使用复选框向另一个页面投递时,然后
echo $_POST['citation'];
我得到了
数组( => O:8:)
我在Stack中搜索了一个解决方案以及PHP文档,但都没有成功。POST操作是否以某种方式更改序列化数据?
发布于 2014-06-09 14:53:37
问题解决了。
第一:
$string_data = serialize($citation);
$string_data = base64_encode($string_data);
然后使用POST发送$string_data
然后
$new_object = unserialize(base64_decode($citation));
在另一边。
发布于 2014-06-09 14:22:49
我认为您应该使用json_encode和json_decode函数
https://stackoverflow.com/questions/24121539
复制相似问题