仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1297|回复: 20
打印 上一主题 下一主题

[学习教程] PHP教程之PHP办事端代办署理页面开辟

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:44:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
说说这一个月左右的学习情况和心得吧!我个人认为,既然决定了去做一件事,那就要以认真的态度去对待!既然决定来学习了,那不管当初是抱着怎样的心态来到这个培训班的,都要让自己认真的投入到学习中。   </p> 比来公司临时断开外网,只开放公司本人一切的站点答应会见,说其实的,做WEB开辟的断网,真是让人啼笑皆非......
因为需求查找材料,只好复杂写了一个PHP的办事端代办署理页面来用一下!
复杂框架页面:
  以下为援用的内容:
<style type="text/CSS">
*{margin:0;padding:0;}
html,body{overflow:hidden;}
td{padding:0;vertical-align:top;}
</style>
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="height:25px;background:#d4d0c8;padding:5px 10px;">
<form method="post" action="action_get.php" target="actioncontent" style="margin:0;padding:0;">
<input type="text" id="targeturl" name="targeturl" style="width:100%;border:1px inset;margin:0;" />
</form>
</td>
</tr>
<tr>
<td>
<iframe name="actioncontent" style="width:100%;height:100%;"></iframe>
</td>
</tr>
</table>
<script type="text/javascript">
window.onload = function(){
document.getElementById('targeturl').focus();
};
</script>

PHP代办署理页面:
  以下为援用的内容:
<?php
//利用Snoopy的抓页功效
include "Snoopy.class.php";
//方针URL
$url = $_REQUEST['targeturl'];
//将一切传递过去的参数列出来
$par = array();
$GetPost = array_merge($_POST,$_GET);
foreach($GetPost As $Key=>$Value){
if($Key!='targeturl'){
  $Value = str_replace("%25","%",$Value);
  array_push($par,($Key . "=" . $Value));
}
}
//判别方针URL是不是带有?(便是否带有参数)
$cc = strpos($url,"?") ? "&" : "?";
//重组URL
$geturl = !$par ? $url : $url.$cc.implode("&",$par);
//抓取重组后的URL页面内容
$snoopy = new Snoopy;
$snoopy->fetch($geturl);
//交换方针内容中剧本里有能够交换父窗口地址的代码
$org = str_replace("top.location","top.title",$snoopy->results);
//测验考试转换方针内容编码到UTF-8
$opt = iconv("gbk","utf-8",$org);
//判别方针内容编码为GBK或UTF-8
$ec = strlen($opt)?"gbk":"utf-8";
?>
<script type="text/javascript">
//关闭运转,防止与前面内容中剧本凌乱
(function(){
var easyUTF8 = function(gbk){if(!gbk){return '';}var utf8 = [];for(var i=0;i<gbk.length;i++){var s_str = gbk.charAt(i);if(!(/^%u/i.test(escape(s_str)))){utf8.push(s_str);continue;}var s_char = gbk.charCodeAt(i);var b_char = s_char.toString(2).split('');var c_char = (b_char.length==15)?[0].concat(b_char):b_char;var a_b =[];a_b[0] = '1110'+c_char.splice(0,4).join('');a_b[1] = '10'+c_char.splice(0,6).join('');a_b[2] = '10'+c_char.splice(0,6).join('');for(var n=0;n<a_b.length;n++){utf8.push('%'+parseInt(a_b[n],2).toString(16).toUpperCase());}}return utf8.join('');};
var getArgs = function(surl){var sarg = surl.split('?'),rv={};rv.filename=sarg[0];if(!sarg[1]){return rv;}var aarg=sarg[1].split('&'),atmp=[];for(var i=0;i<aarg.length;i++){atmp=aarg.split('=');rv[atmp[0]]=atmp[1];}return rv;};
var createIPH = function(name,value){if(!name){return;}if(/msie/i.test(navigator.appVersion)){return document.createElement('<input type="hidden" name="'+name+'" value="'+value+'"/>');}else{var dfi = document.createElement('input');dfi.type = 'hidden';dfi.name = name;dfi.value = value;return dfi;}};
//回显方针URL到父窗口文本框
var dtu = top.document.getElementById('targeturl');
if(dtu){dtu.value = '<?php echo $geturl;?>';}
//方针URL及domain
var sref = '<?php echo $url;?>';
var sdomain = sref.match(/^http:\/\/[^\/]*/i)[0];
//页面加载后履行上面的进程
var process = function(){
//抓取页面中一切链接
var dlink = document.getElementsByTagName('a'),la = dlink.length;
//抓取页面中一切表单
var dform = document.getElementsByTagName('form'),lf = dform.length;
//遍历一切链接,交换它们的href地址
for(var i=0;i<la;i++){
var src = dlink.href.toString().replace(/^http:\/\/www\.w3cgroup\.com(?:\/geturl)?/i,sdomain);
var oargs = getArgs(src),ahref = [];
//UTF-8编码参数值
for(var d in oargs){
  if(!dd=='filename'!oargs[d]){continue;}
  ahref.push(d+'='+encodeURIComponent(easyUTF8(oargs[d])));
}
var ghref = ahref.length?oargs.filename+'?'+ahref.join('&'):oargs.filename;
//重设链接地址
dlink.href = 'http://www.w3cgroup.com/geturl/action_get.php?targeturl='+ghref;
}
//遍历一切表单,交换它们的action地址
for(i=0;i<lf;i++){
//抓取表单action并处置
var src = dform.action.toString().replace(/^http:\/\/www\.w3cgroup\.com(?:\/geturl)?/i,sdomain);
if(!(/^http/.test(src))){src = (/^\/.*$/.test(src))?(sdomain+src):(sdomain+'/'+src);}
//创立一个埋没域targeturl,值为下面处置的src地址
var dfi = createIPH('targeturl',src);
dform.appendChild(dfi);
//创立一个埋没域ie,值为utf-8,纯属为搜刮引擎利用
var dfi2 = createIPH('ie','utf-8');
dform.appendChild(dfi2);
//重设表单提交方针窗口
dform.target = 'actioncontent';
//重设表单action地址
dform.action = 'http://www.w3cgroup.com/geturl/action_get.php';
//重设表单onsubmit事务,用来UTF8编码字段值
dform.onsubmit = function(){
  var dlms = this.elements,l = dlms.length-1,pn = '',pt = '',pv = '';
  for(var i=0;i<l;i++){
   pn = dlms.name,pt = dlms.type,pv = dlms.value;
   if(!pnpn=='targeturl'pn=='ie'){continue;}
   if(pt=='submit'pt=='reset'pt=='button'){
    dlms.value = encodeURIComponent(pv);
   }else{
    dlms.value = encodeURIComponent(easyUTF8(pv));
   }
  }
};
}
};
//绑定该进程到window.onload
if(document.attachEvent){window.attachEvent('onload',process);}else{window.addEventListener('load',process,false);}
})();
</script>
//剧本放在输入内容前,防止内容中能够呈现剧本毛病而招致咱们要做的工作被废失落
//输入抓到的方针页面内容
<?php echo ($ec=="gbk")?$opt:$org;?>

在这个小作品中,我编写了一个主要的JavaScript函数easyUTF8,它可以很便利地在JavaScript剧本中将GBK编码的内容转换为UTF-8编码
咱们还处置了一下表单中添加项目标兼容成绩,注重看createIPH函数,在IE中创立的表单项内容,在指定name和value时能够会呈现咱们不但愿的了局,这在DHTML手册中已有过描写了。
应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^
飘飘悠悠 该用户已被删除
沙发
发表于 2015-2-4 06:21:08 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
乐观 该用户已被删除
板凳
发表于 2015-2-5 01:23:36 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
小女巫 该用户已被删除
地板
发表于 2015-2-6 14:32:20 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
分手快乐 该用户已被删除
5#
发表于 2015-2-7 20:40:59 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-10 23:41:53 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
兰色精灵 该用户已被删除
7#
发表于 2015-2-24 02:35:09 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
再见西城 该用户已被删除
8#
发表于 2015-2-27 04:43:03 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
小魔女 该用户已被删除
9#
发表于 2015-3-8 20:44:15 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
灵魂腐蚀 该用户已被删除
10#
发表于 2015-3-16 13:41:12 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
admin 该用户已被删除
11#
发表于 2015-3-17 17:23:35 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
若天明 该用户已被删除
12#
发表于 2015-3-18 10:41:49 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
小妖女 该用户已被删除
13#
发表于 2015-3-24 19:26:06 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
透明 该用户已被删除
14#
发表于 2015-3-25 06:03:26 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
莫相离 该用户已被删除
15#
发表于 2015-4-1 20:09:58 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
因胸联盟 该用户已被删除
16#
发表于 2015-4-11 11:30:52 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
爱飞 该用户已被删除
17#
发表于 2015-4-11 13:45:39 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
愤怒的大鸟 该用户已被删除
18#
发表于 2015-4-11 18:20:33 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
谁可相欹 该用户已被删除
19#
发表于 2015-4-17 22:18:33 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
20#
发表于 2015-4-21 06:50:31 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-21 16:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表