仓酷云

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

[学习教程] PHP网站制作之十天学会写PHP静态网站

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

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

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

x
我先解释一下我的学习思路。     十天学会php之第一天
  以 Apache web server 和 MY SQL 作为WEB办事器和数据库在php-4.3.3下的情况做法式复杂的构建和会见检查数据库用 PHPMYADMIN。
  PHP的语法:
  1、嵌入办法:
  PHP可所以以<?php或是<?为入手下手符号,停止符号是?>,固然也能够本人指定。
  2、援用文件:
  援用文件的办法有两种:require 及 include。
  require 的利用办法如 require("MyRequireFile.php"); 。这个函数凡是放在 PHP 法式的最后面,PHP 法式在履行前,就会先读入 require 所指定引入的文件,使它酿成 PHP 法式网页的一部分。经常使用的函数,亦可以这个办法将它引入网页中。
  include 利用办法如 include("MyIncludeFile.php"); 。这个函数通常为放在流程掌握的处置局部中。PHP 法式网页在读到 include 的文件时,才将它读出去。这类体例,可以把法式履行时的流程复杂化。
  3、正文办法:
<?php
echo "这是第一种例子。\n" ; // 本例是 C++ 语法的正文
/* 本例采取多行的
正文体例 */
echo "这是第二种例子。\n" ;
echo "这是第三种例子。\n" ; # 本例利用 UNIX Shell 语法正文
?>
  4、变量类型:
$mystring = "我是字符串" ;
$NewLine = "换行了\n" ;
$int1 = 38 ;
$float1 = 1.732 ;
$float2 = 1.4E+2 ;
$MyArray1 = array( "子" , "丑" , "寅" , "卯" );
这里引出两个成绩:第一PHP变量以"$"开首,第二PHP语句以";"开头。这两个漏掉也是法式上大多毛病地点。
  5、运算符号:
数学运算:
符号    意义  
+      加法运算  
-       减法运算  
*       乘法运算  
/       除法运算  
%    取余数  
++   累加  
--     递加  
  字符串运算:
  运算符号只要一个,就是英文的句号"."。它可以将字符串联接起来,酿成兼并的新字符串。
<?
$a = "PHP 4" ;
$b = "功效壮大" ;
echo $a.$b;
?>
  这里也引出两个成绩,起首PHP中输入语句是echo,第二相似ASP中的<%=变量%>,PHP中也能够<?=变量?>。
逻辑运算:
符号 意义  
<       小于  
>       大于  
<=  小于或等于  
>=  大于或等于  
==     等于  
!=     不等于  
&&    并且 (And)  
and   并且 (And)  
||        或 (Or)  
or      或 (Or)  
xor    异或 (Xor)  
!          不 (Not)  
明天就说到这里,今天说一下贱程掌握。

十天学会php之第二天

进修目标:把握php的流程掌握
1、if..else 轮回有三种布局
第一种是只要用到 if 前提,看成纯真的判别。注释成 "若产生了某事则如何处置"。语法以下:
if (expr) { statement }
个中的 expr 为判别的前提,凡是都是用逻辑运算符号当判别的前提。而 statement 为合适前提的履行局部法式,若法式只要一行,可以省略大括号 {}。
典范:本例省略大括号。
<?php
if ($state==1)echo "哈哈" ;
?>
这里出格注重的是,判别是不是相等是==而不是=,ASP法式员能够常犯这个毛病,= 是赋值。
典范:本例的履行局部有三行,不成省略大括号。
<?php
if ($state==1) {
echo "哈哈 ;
echo "<br>" ;
}
?>

第两种是除 if 以外,加上了 else 的前提,可注释成 "若产生了某事则如何处置,不然该若何处理"。语法以下
if (expr) { statement1 } else { statement2 } 典范:下面的例子来修正成更完全的处置。个中的 else 因为只要一行履行的指令,因而不必加上大括号。
<?php
if ($state==1) {
echo "哈哈" ;
echo "<br>";
}
else{
echo "呵呵";
echo "<br>";
}
?>

第三种就是递归的 if..else 轮回,凡是用在多种决议计划判别时。它将数个 if..else 拿来兼并应用处置。
直接看上面的例子
<?php
if ( $a > $b ) {
echo "a 比 b 大" ;
} elseif ( $a == $b ) {
echo "a 等于 b" ;
} else {
echo "a 比 b 小" ;
}
?>
上例只用二层的 if..else 轮回,用来对照 a 和 b 两个变量。实践要利用这类递归 if..else 轮回时,请当心利用,由于太多层的轮回轻易使设计的逻辑出成绩,或少打了大括号等,城市形成法式呈现稀里糊涂的成绩。
2、 for 轮回就纯真只要一种,没有变更,它的语法以下
for (expr1; expr2; expr3) { statement }
个中的 expr1 为前提的初始值。expr2 为判别的前提,凡是都是用逻辑运算符号 (logical operators) 当判别的前提。expr3 为履行 statement 后要履行的部分,用来改动前提,供下次的轮回判别,如加一..等等。而 statement 为合适前提的履行局部法式,若法式只要一行,可以省略大括号 {}。
下例是用 for 轮回写的的例子。
<?php
for ( $i = 1 ; $i <= 10 ; $i ++) {
echo "这是第".$i."次轮回<br>" ;
}
?>
3、 switch 轮回,凡是处置复合式的前提判别,每一个子前提,都是 case 指令局部。在实作上若利用很多相似的 if 指令,可以将它综分解 switch 轮回。
语法以下
switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; }
个中的 expr 前提,凡是为变量称号。而 case 后的 exprN,凡是暗示变量值。冒号后则为合适该前提要履行的局部。注重要用 break 跳离轮回。
<?php
switch ( date ( "D" )) {
case "Mon" :
echo "明天礼拜一" ;
break;
case "Tue" :
echo "明天礼拜二" ;
break;
case "Wed" :
echo "明天礼拜三" ;
break;
case "Thu" :
echo "明天木曜日" ;
break;
case "Fri" :
echo "明天礼拜五" ;
break;
default:
echo "明天放假" ;
break;
}
?>
这里需求注重的是break;别漏掉了,default,省略是可以的。

很分明的,上述的例子用 if 轮回就很费事了。固然在设计时,要将呈现机率最大的前提放在最后面,起码呈现的前提放在最初面,可以增添法式的履行效力。上例因为天天呈现的机率不异,所以不必注重前提的按次。
明天就说到这里,今天入手下手说数据库的利用。

十天学会php之第三天

进修目标:学会构建数据库
在PHP中,MY SQL的号令行编纂能够会令初学者感应很费事,没关系,你下载一个PHPMYADMIN装置一下,今后创立编纂数据库可以靠它了。
上面说一下它的利用。
进入了phpmyadmin后,咱们起首需求创立一个数据库,
Language (*) 这里选择中文简体,然后在右边的 创立一个新的数据库 这里填写数据库名字,点击创立便可。
然后在右边下拉菜单当选择谁人已创立的数据库。鄙人面的
在数据库 shop 中创立一个新表 :
名字 :
字段数 :
中填写表名字和大致你以为的字段数(不敷或多了都没关系,今后可以再添加或缺省),按履行。
然后就能够入手下手创立表了。
第一栏是字段的名字;第二栏选择字段类型:
咱们经常使用的是以下几个:
1)VARCHAR,文本类型
2)INT,整数类型
3)FLOAT,浮点数类型
4)DATE,日期型
5)人人也许会问,主动添加的ID在哪里?这个只需选择INT类型,在前面的额定当选择 auto_increment 就能够了。
创立了表今后,可以在右边看到你创立的表,点击今后,你可以:
1)按右侧的布局:检查修正表布局
2)按右侧的阅读:检查表中的数据
3)按右侧的SQL:运转SQL语句
4)按右侧的拔出:拔出一行纪录
5)按右侧的清空:删除表中一切纪录
6)按右侧的删除:删除表
还有一个很主要的功效就是导入和导出,当咱们本机做好了法式和数据库的时分,需求在办事器上也有一个当地镜像,假如是ASP的ACCESS复杂了,直接上传MDB文件便可,假如是SQL SERVER也能够毗连远端办事器停止导入。那末MY SQL中你可以导出一切的SQL语句,到了远端办事器的PHPMYADMIN上,创立数据库后按SQL,粘帖你方才复制上去的一切本级生成的SQL语句便可。
明天就说到这里,今天持续说数据库操作。

十天学会php之第四天

进修目标:学会毗连数据库
PHP几乎就是一个函数库,丰厚的函数使PHP的某些中央相当复杂。建议人人down一本PHP的函数手册,总用的到。
我这里就复杂说一下毗连MYSQL数据库。
1、mysql_connect
翻开 MySQL 办事器毗连。
语法: int mysql_connect(string [hostname] [:port], string [username], string [password]); 前往值: 整数
本函数创立与 MySQL 办事器的毗连。个中一切的参数都可省略。当利用本函数却不加任何参数时,参数 hostname 的默许值为 localhost、参数 username 的默许值为 PHP 履行行程的具有者、参数 password 则为空字符串 (即没有暗码)。而参数 hostname 前面可以加冒号与端标语,代表利用哪一个端口与 MySQL 毗连。固然在利用数据库时,早点利用 mysql_close() 将毗连关失落可以节俭资本。
2、 mysql_select_db
选择一个数据库。
语法: int mysql_select_db(string database_name, int [link_identifier]); 前往值: 整数
本函数选择 MySQL 办事器中的数据库以供以后的材料查询功课 (query) 处置。胜利前往 true,掉败则前往 false。
最复杂的例子就是:
$conn=mysql_connect ("127.0.0.1", "", "");
mysql_select_db("shop");
毗连机MY SQL数据库,翻开SHOP数据库。在实践使用中应该增强点毛病判别。
明天就说到这里,今天再说一下数据库的读取。

十天学会php之第五天

进修目标:学会读取数据
先看两个函数:
1、mysql_query
送出一个 query 字符串。 语法: int mysql_query(string query, int [link_identifier]); 前往值: 整数
本函数送出 query 字符串供 MySQL 做相干的处置或履行。若没有指定 link_identifier 参数,则法式会主动寻觅比来翻开的 ID。当 query 查询字符串是 UPDATE、INSERT 及 DELETE 时,前往的多是 true 或 false;查询的字符串是 SELECT 则前往新的 ID 值,当前往 false 时,并非履行胜利但无前往值,而是查询的字符串有毛病。
2、mysql_fetch_object 前往类材料。 语法: object mysql_fetch_object(int result, int [result_typ]); 前往值: 类
本函数用来将查询了局 result 拆到类变量中。若 result 没有材料,则前往 false 值。
看一个复杂的例子:
<?
$exec="select * from user";
$result=mysql_query($exec);
while($rs=mysql_fetch_object($result))
{
echo "username:".$rs->username."<br>";
}
?>
固然,表user中有一个username的字段,这就相似asp中的
<%
exec="select * from user"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
do while not rs.eof
response.write "username:"&rs("username")&"<br>"
rs.movenext
loop
%>
固然先要毗连数据库,普通咱们 require_once('conn.php');而conn.php外面就是上一次说的毗连数据库的代码。
小小的两条号令可以完成读取数据的任务了,明天说到这里下一次说数据的添加删除修正。

十天学会php之第六天

进修目标:学会添加删除修正数据
mysql_query($exec);
单这个语句就能够履行一切的操作了,分歧的就是$exec这个sql语句
添加:$exec="insert into tablename (item1,item2) values ('".$_POST['item1']."',".$_POST['item1'].")";
删除:$exec="delete from tablename where...";
修正:$exec="update tablename set item1='".$_POST['item1']."' where ...";
说到这里就要说一下表单和php变量传递,假如表单中的一个 <input name="item1" type="text" id="item1">
表单以POST提交的,那末处置表单文件就能够用$_POST['item1']失掉变量值,一样以GET提交的就是$_GET['item1']
是否是很复杂?然而凡是$exec会有成绩,由于能够您的SQL语句会很长,您会漏掉.毗连符,或'来包抄字符型字段。
咱们可以正文mysql_query($exec);语句用echo $exec;取代来输入$exec以反省准确性。假如您还不克不及发觉$exec有甚么毛病的话,可以复制这个sql语句到phpmyadmin中履行,看看它的失足信息。还有需求注重的是,咱们不要利用一些敏感的字符串作为字段名字,不然极可能会呈现成绩,好比说date甚么的。变量的定名,字段的定名遵守一点纪律有的时分对本人是一种优点,初学者其实不可无视其主要性。
明天就说到这里,人人可以DOWN一个SQL语句的参考手册,再研讨研讨。今天持续说SESSION。

十天学会php之第七天

进修目标:学会SESSION的利用
SESSION的感化良多,最多用的就是站点内页面间变量传递。
在页面入手下手咱们要session_start();开启SESSION;
然后就能够利用SESSION变量了,好比说要赋值就是:$_SESSION['item']="item1";要失掉值就是$item1=$_SESSION['item'];,很复杂吧。这里咱们能够会利用到一些函数,好比说判别是否是某SESSION变量为空,可以这么写:empty($_SESSION['inum'])前往true or false。
上面综合一下后面所说的咱们来看一个上岸法式,判别用户名暗码是不是准确。
上岸表单是如许:login.php
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<form action="checklogin.php" method="post"><td align="center" valign="middle"><table width="400" border="0" cellpadding="5" cellspacing="1" class="tablebg">
<tr class="tdbg">
<td colspan="2"><div align="center">Administrators Login</div></td>
</tr>
<tr class="tdbg">
<td><div align="center">Username</div></td>
<td><div align="center">
<input name="username" type="text" id="username">
</div></td>
</tr>
<tr class="tdbg">
<td><div align="center">Password</div></td>
<td><div align="center">
<input name="password" type="password" id="password">
</div></td>
</tr>
<tr class="tdbg">
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Clear">
</div></td>
</tr>
</table></td></form>
</tr>
</table>
处置文件是如许
<?
require_once('conn.php');
session_start();
$username=$_POST['username'];
$password=$_POST['password'];
$exec="select * from admin where username='".$username."'";
if($result=mysql_query($exec))
{
  if($rs=mysql_fetch_object($result))
  {
    if($rs->password==$password)
    {
      $_SESSION['adminname']=$username;
      header("location:index.php");
    }
    else
    {
      echo "<script>alert('Password Check Error!');location.href='login.php';</script>";
    }
  }
  else
  {
  echo "<script>alert('Username Check Error!');location.href='login.php';</script>";
  }
  }
else
{
echo "<script>alert('Database Connection Error!');location.href='login.php';</script>";
}
?>
conn.php是如许:
<?
$conn=mysql_connect ("127.0.0.1", "", "");
mysql_select_db("shop");
?>
因为 $_SESSION['adminname']=$username;咱们可以如许写验证是不是上岸语句的文件:checkadmin.php
<?
session_start();
if($_SESSION['adminname']=='')
{
echo "<script>alert('Please Login First');location.href='login.php';</script>";
}
?>
呵呵,明天说到这里,今天说一下怎样弄一个分页。

十天学会php之第八天

进修目标:做一个分页显示
关头就是用到了SQL语句中的limit来限制显示的纪录从几到几。咱们需求一个纪录以后页的变量$page,还需求总共的纪录数$num
关于$page假如没有咱们就让它=0,假如有<0就让它也=0,假如超越了总的页数就让他=总的页数。
$execc="select count(*) from tablename ";
$resultc=mysql_query($execc);
$rsc=mysql_fetch_array($resultc);
$num=$rsc[0];
如许可以失掉纪录总数
ceil($num/10))假如一页10纪录的话,这个就是总的页数
所以可以这么写
if(empty($_GET['page']))
{
$page=0;
}
else
{
$page=$_GET['page'];
if($page<0)$page=0;
if($page>=ceil($num/10))$page=ceil($num/10)-1;//由于page是从0入手下手的,所以要-1
}
如许$exec可以这么写 $exec="select * from tablename limit ".($page*10).",10";
//一页是10纪录的
最初咱们需求做的就是几个毗连:
<a href="xxx.php?page=0">FirstPage</a>
<a href="xxx.php?page=<?=($page-1)?>">PrevPage</a>
<a href="xxx.php?page=<?=($page+1)?>">NextPage</a>
<a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a>
这是一个大致的思绪,人人可以想一想怎样来优化?明天说到这里,今天说一下一些注重的成绩。

十天学会php之第九天
进修目标:注重事项
1、注重不要漏了分号
2、注重不要漏了变量前的$
3、利用SESSION的时分注重不要漏掉session_start();
  假如产生毛病的时分,可以采取以下办法:
1、假如是SQL语句失足,就正文了然后输入SQL语句,注重也要正文调后续的履行SQL语句
2、假如是变量为空,大多是没有传递到位,输入变量反省一下,反省一下表单的id和name
3、假如是数据库毗连失足,反省是不是准确翻开MY SQL和是不是漏掉了毗连语句
4、注重缩进,扫除括号不区配的毛病
  在做大网站的时分,我的思绪是先构建数据库,肯定每个字段的感化,和表之间的关系。然后设计后台界面,从添加数据入手下手做起,由于添加是不是胜利可以直接到数据库外面验证,做好了添加再做显示的页面,最初才是二者的联合。普通来讲后台就包含添加删除修正和显示,后台没有成绩了,前台也没有甚么大成绩。前台还需求注重平安性和容错还有就是输入格局。
  好了,明天说到这里,今天说一下假如用PHP上传文件和发邮件。

  十天学会php之第十天

  进修目标:学会用PHP上传文件和发邮件
  上传文件表单必需加上 enctype="multipart/form-data" 和 <input type="file" name="file">上面看一下代码:
$f=&$HTTP_POST_FILES['file'];
$dest_dir='uploads';//设定上传目次
$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//我这里设置文件名为日期加上文件名防止反复
$r=move_uploaded_file($f['tmp_name'],$dest);
chmod($dest, 0755);//设定上传的文件的属性
  上传的文件名为date("ymd")."_".$f['name'] ,可以在今后拔出到数据库的时分用到,PHP实践上是把你上传的文件从一时目次挪动到指定目次。move_uploaded_file($f['tmp_name'],$dest);这是关头
  至于发邮件就加倍复杂,可使用mail()函数mail("收件人地址","主题","注释","From:发件人\r\nReply-to:发件人的地址");
  不外mail()需求办事器的撑持,在WINDOWS下还需求设置装备摆设SMTP办事器,普通来讲里面的LINUX空间都行。
  仿佛上传文件和发邮件比ASP复杂良多,只需挪用函数就能够了。ASP还需求用到办事器的分歧组件好比FSO、JMAIL甚么的。
  十天学会PHP说到这里了,想告知人人的是PHP入门可所以十天,然而精晓决不是十天啊,还需求人人本人去研讨。
你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧。
活着的死人 该用户已被删除
沙发
发表于 2015-2-4 07:17:39 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-2-5 22:00:04 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
再见西城 该用户已被删除
地板
发表于 2015-2-9 23:33:29 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
飘灵儿 该用户已被删除
5#
发表于 2015-2-10 07:26:30 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
再现理想 该用户已被删除
6#
发表于 2015-3-1 02:38:08 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
透明 该用户已被删除
7#
发表于 2015-3-7 06:34:23 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
金色的骷髅 该用户已被删除
8#
发表于 2015-3-14 12:30:25 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
深爱那片海 该用户已被删除
9#
发表于 2015-3-15 23:09:47 | 只看该作者
做为1门年轻的语言,php一直很努力。
因胸联盟 该用户已被删除
10#
发表于 2015-3-27 08:48:59 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
变相怪杰 该用户已被删除
11#
发表于 2015-4-1 13:10:28 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
蒙在股里 该用户已被删除
12#
发表于 2015-4-5 04:52:33 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
愤怒的大鸟 该用户已被删除
13#
发表于 2015-4-6 01:08:38 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
第二个灵魂 该用户已被删除
14#
发表于 2015-4-6 03:08:30 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
老尸 该用户已被删除
15#
发表于 2015-4-8 15:14:27 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
不帅 该用户已被删除
16#
发表于 2015-4-17 06:38:45 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
莫相离 该用户已被删除
17#
发表于 2015-4-25 07:04:21 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
柔情似水 该用户已被删除
18#
发表于 2015-4-27 13:48:45 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
谁可相欹 该用户已被删除
19#
发表于 2015-5-8 18:24:26 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-20 21:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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