PHP json2xml 사용법 및 XE 로그인연동 : json2xml , XpressEngine
반응형
XE 로그인 연동
* 경고: 본 소스는 보안상 문제가 있습니다. 로그인 연동에 필요한 값은 POST 로 넘겨 받고, 암호화 처리하는 것이 올바른 방법입니다.
타 사이트에서 XE 와 로그인 연동하기 위한 예제 소스입니다.
아래의 소스는 익스프레스엔진 하위 폴더에 존재해야 한다. /xe/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="ko" xml:lang="ko" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="Seok Kyun. Choi. (http://syaku.tistory.com)" name="Programmed" /> <meta content="no" http-equiv="imagetoolbar" /> <title></title> <script type="text/javascript" language="javascript" src="./common/js/jquery.js"></script> </head> <body> <?php $user_id = $_GET['user_id']; $password = $_GET['password']; ?> <script type="text/javascript"> /* This work is licensed under Creative Commons GNU LGPL License. License: http://creativecommons.org/licenses/LGPL/2.1/ Version: 0.9 Author: Stefan Goessner/2006 Web: http://goessner.net/ */ function json2xml(o, tab) { var toXml = function(v, name, ind) { var xml = ""; if (v instanceof Array) { for (var i=0, n=v.length; i<n; i++) xml += ind + toXml(v[i], name, ind+"\t") + "\n"; } else if (typeof(v) == "object") { var hasChild = false; xml += ind + "<" + name; for (var m in v) { if (m.charAt(0) == "@") xml += " " + m.substr(1) + "=\"" + v[m].toString() + "\""; else hasChild = true; } xml += hasChild ? ">" : "/>"; if (hasChild) { for (var m in v) { if (m == "#text") xml += v[m]; else if (m == "#cdata") xml += "<![CDATA[" + v[m] + "]]>"; else if (m.charAt(0) != "@") xml += toXml(v[m], m, ind+"\t"); } xml += (xml.charAt(xml.length-1)=="\n"?ind:"") + "</" + name + ">"; } } else { xml += ind + "<" + name + ">" + v.toString() + "</" + name + ">"; } return xml; }, xml=""; for (var m in o) xml += toXml(o[m], m, ""); return tab ? xml.replace(/\t/g, tab) : xml.replace(/\t|\n/g, ""); } $(function() { var data = { "methodCall":{ "params":{ "_filter":{"#cdata":"widget_login"}, "user_id":{"#cdata":"<?php echo $user_id?>"}, "password":{"#cdata":"<?php echo $password?>"}, "module":{"#cdata":"member"}, "act":{"#cdata":"procMemberLogin"} } } }; var xml = json2xml(data); $.ajax({ url: "index.php", type: "POST", data: xml, dataType : "xml", contentType:'text/plain', success : function() { // 로그인 처리후 돌아갈페이지 document.location.href = "/"; } }); }); </script> </body> </html>
반응형
'개발노트 > PHP' 카테고리의 다른 글
PHP 문법 정리 : 자주 사용하는 PHP (0) | 2014.05.23 |
---|---|
PHP 배열 조합 함수 : jQuery extend for PHP (0) | 2014.04.11 |
PHP 디비 커넥션 : Database Connection (4) | 2010.06.09 |
PHP 로또 비지니스로직 : lotto 1 to 45 (0) | 2010.05.11 |