-
[论坛] 百度知道网站建设宝典
2007-09-01 23:51:21
很不错。适合新手!!
biduzd_handbook.rar
(2007-09-01 23:51:21, Size: 490 KB, Downloads: 0) -
[论坛] 引入CSS样式的五种方式
2007-09-01 23:43:09
引入CSS样式的五种方式——常用的有五种引入CSS样式的方式,下面分别作一些介绍。
一、使用STYLE属性
将STYLE属性直接加在个别的元件标签里,<元件(标签) STYLE="性质(属性)1: 设定值1; 性质(属性)2: 设定值2; ...}
例如:
<TD STYLE="COLOR:BLUE; font-size:9pt; font-family:"标楷体"; line-height:150%>
这种用法的优点 是可灵巧应用样式於各标签中,但是缺点则是没有整篇文件的『统一性』。
二、使用STYLE标签
将样式规则写在<STYLE>...</STYLE>标签之中。
<STYLE TYPE="text/css">
<!--
样式规则表
-->
</STYLE>
例如:
<STYLE TYPE="text/css">
<!--
BODY {
color: BLUE;
background: #FFFFCC;
font-size: 9pt}
TD, P {
COLOR: GREEN;
font-size: 9pt}
-->
</STYLE>
通常是将整个的 <STYLE>...</STYLE>结构写在网页的<HEAD> </HEAD>部份之中。这种用法的优点就是在於整篇文件的统一性,只要是有声明的的元件即会套用该样式规则。缺点就是在个别元件的灵活度不足。
三、使用 LINK标签
将样式规则写在.css的样式档案中,再以<LINK>标签引入。
假设我们把样式规则存成一个example.css的档案,我们只要在网页中加入
<LINK REL=STYLESHEET TYPE="text/css" HREF="example.css">
即可套用该样式档案中所制定好的样式了。 通常是将LINK标签写在网页的<head></head>部份之中。这种用法的优点就是在於可以把要套用相同样式规则的数篇文件都指定到同一个样式档案即可。缺点也是在个别文件或元件的灵活度不足。
四、使用@import引入
跟LINK用法很像,但必 放在<STYLE>...</STYLE> 中。
<STYLE TYPE="text/css">
<!--
@import url(引入的样式表的位址、路径与档名);
-->
</STYLE>
例如:
<STYLE TYPE="text/css">
<!--
@import url(http://yourweb/ example.css);
-->
</STYLE>
要注意的是,行末的分号是绝对不可少的!
五、使用<span></span>标记引入样式
例如:<span style="font:12px/20px 宋体 #000000;">网页</span> -
[论坛] 网页配色方案
2007-09-01 23:19:12
#f7acbc 赤白橡
#deab8a 油色
#817936 绀桔梗
#444693
踯躅色
#ef5b9c 肌色
#fedcbd 伽罗色
#7f7522 花色
#2b4490
桜色
#feeeed 橙色
#f47920 青丹
#80752c 瑠璃色
#2a5caa
蔷薇色
#f05b72 灰茶
#905a3d 莺色
#87843b 琉璃绀
#224b8f
韩红
#f15b6c 茶色
#8f4b2e 利久色
#726930 绀色
#003a6c
珊瑚色
#f8aba6 桦茶色
#87481f 媚茶
#454926 青蓝
#102b6a
红梅色
#f69c9f 枯茶
#5f3c23 蓝海松茶
#2e3a1f 杜若色
#426ab3
桃色
#f58f98 焦茶
#6b473c 青钝
#4d4f36 胜色
#46485f
薄柿
#ca8687 柑子色
#faa755 抹茶色
#b7ba6b 群青色
#4e72b8
薄红梅
#f391a9 杏色
#fab27b 黄緑
#b2d235 铁绀
#181d4b
曙色
#bd6758 蜜柑色
#f58220 苔色
#5c7a29 蓝铁
#1a2933
红色
#d71345 褐色
#843900 若草色
#bed742 青褐
#121a2a
赤丹
#d64f44 路考茶
#905d1d 若緑
#7fb80e 褐返
#0c212b
红赤
#d93a49 饴色
#8a5d19 萌黄
#a3cf62 藤纳戸
#6a6da9
臙脂色
#b3424a 丁子色
#8c531b 苗色
#769149 桔梗色
#585eaa
真赭
#c76968 丁子茶
#826858 草色
#6d8346 绀蓝
#494e8f
今様色
#bb505d 黄栌
#64492b 柳色
#78a355 藤色
#afb4db
梅染
#987165 土器色
#ae6642 若草色
#abc88b 藤紫
#9b95c9
退红色
#ac6767 黄枯茶
#56452d 松叶色
#74905d 青紫
#6950a1
苏芳
#973c3f 狐色
#96582a 白緑
#cde6c7 菫色
#6f60aa
茜色
#b22c46 黄橡
#705628 薄緑
#1d953f 鸠羽色
#867892
红
#a7324a 银煤竹
#4a3113 千草色
#77ac98 薄色
#918597
银朱
#aa363d 涅色
#412f1f 青緑
#007d65 薄鼠
#6f6d85
赤
#ed1941 胡桃色
#845538 浅緑
#84bf96 鸠羽鼠
#594c6d
朱色
#f26522 香色
#8e7437 緑
#45b97c 菖蒲色
#694d9f
洗朱
#d2553d 国防色
#69541b 草色
#225a1f 江戸紫
#6f599c
红桦色
#b4534b 练色
#d5c59f 木贼色
#367459 紫
#8552a1
红绯
#ef4136 肉色
#cd9a5b 常盘色
#007947 灭紫
#543044
桦色
#c63c26 人色
#cd9a5b 緑青色
#40835e 葡萄鼠
#63434f
铅丹色
#f3715c 土色
#b36d41 千歳緑
#2b6447 古代紫
#7d5886
赭
#a7573b 小麦色
#df9464 深緑
#005831 暗红
#401c44
绯色
#aa2116 琥珀色
#b76f40 萌葱色
#006c54 葡萄
#472d56
丹
#b64533 木兰色
#ad8b3d 青白橡
#375830 茄子绀
#45224a
土
#b54334 栀子色
#dea32c 革色
#274d3d 紫绀
#411445
焦香
#853f04 朽叶
#d1923f 麹尘
#375830 浓色
#4b2f3d
真红
#840228 萱草色
#c88400 仙斎茶
#27342b 二蓝
#402e4c
绯
#7a1723 黄金
#c37e00 若竹色
#65c294 菖蒲色
#c77eb5
红海老茶
#a03939 金色
#c37e00 青磁色
#73b9a2 牡丹色
#ea66a6
浅苏芳
#8a2e3b 金茶
#e0861a 青竹色
#72baa7 赤紫
#f173ac
鸢色
#8e453f 卵色
#ffce7b 铁色
#005344 白
#fffffb
小豆色
#8f4b4a 山吹色
#fcaf17 锖鼠
#122e29 胡粉色
#fffef9
弁柄色
#892f1b 黄土色
#ba8448 铁御纳戸
#293047 生成色
#f6f5ec
栗梅
#6b2c25 朽叶色
#896a45 青緑
#00ae9d 灰白
#d9d6c3
海老茶
#733a31 空五倍子色
#76624c 锖浅葱
#508a88 石竹色
#d1c7b7
深绯
#54211d 莺茶
#6d5826 水浅葱
#70a19f 象牙色
#f2eada
赤铜色
#78331e 向日葵色
#ffc20e 新桥色
#50b7c1 乳白色
#d3d7d4
赤褐色
#53261f 郁金色
#fdb933 浅葱色
#00a6ac 薄钝
#999d9c
金赤
#f15a22 砂色
#d3c6a6 白群
#78cdd1 银鼠
#a1a3a6
赤茶
#b4533c 芥子色
#c7a252 御纳戸色
#008792 茶鼠
#9d9087
赤锖色
#84331f 淡黄
#dec674 瓮覗
#94d6da 鼠色
#8a8c8e
黄丹
#f47a55 亜麻色
#b69968 水色
#afdfe4 薄墨色
#74787c
赤橙
#f15a22 枯色
#c1a173 蓝鼠
#5e7c85 利休鼠
#7c8577
柿色
#f3704b 鸟子色
#dbce8f 秘色
#76becc 铅色
#72777b
肉桂色
#da765b 黄色
#ffd400 空色
#90d7ec 灰色
#77787b
桦色
#c85d44 蒲公英色
#ffd400 青
#009ad6 钝色
#4f5555
炼瓦色
#ae5039 中黄
#ffe600 蓝色
#145b7d 煤竹色
#6c4c49
锖色
#6a3427 刈安色
#f0dc70 浓蓝
#11264f 黒茶
#563624
桧皮色
#8f4b38 黄檗色
#fcf16e 勿忘草色
#7bbfea 黒橡
#3e4145
栗色
#8e3e1f 緑黄色
#decb00 露草色
#33a3dc 浓鼠
#3c3645
黄赤
#f36c21 鶸色
#cbc547 缥色
#228fbd 墨
#464547
代赭
#b4532a 海松色
#6e6b41 浅缥
#2468a2 黒
#130c0e
骆驼色
#b7704f 鶸茶
#596032 薄缥
#2570a1 黒铁
#281f1d
黄茶
#de773f 山鸠色
#525f42 薄花色
#2585a6 蝋色
#2f271d
洗柿
#c99979 生壁色
#5f5d46 绀青
#1b315e 紫黒
#1d1626 -
[论坛] 如何写出优秀的ASP应用
2007-08-29 09:46:02
怎样创建性能棒、正确性、可维护性和性能俱佳的ASP应用程序?要做什么?不做什么?本文以提纲的形式,给出了主要的Check-Points(检查点)。
什么是ASP
Active Server Page,简称ASP,是:
□ 连接网友界面(HTML)和商业逻辑(Business Logic);
□ 提供一致的、容易使用的、有状态保持的、基于WEB的客户端;
□ 为那些需要事务处理的WEB 应用提供应用程序环境。
--------------------------------------------------------------------------------
ASP不是:
□ 实现商业逻辑(Business Logic)的地方;商业逻辑应该通过COM+、MTS或者数据库来实现。
--------------------------------------------------------------------------------
ASP的使用者应该有下面的教训:
□ 开发应用程序,而不是开发一个一个的孤立ASP页面;
□ 对输入和输出进行缓存;
□ 在发布之前要测试;
□ 选择性能较好的部件;
□ 减少数据库的存取:缓存变换后的结果;
□ 使用MSMQ来处理有时间延迟的工作;
--------------------------------------------------------------------------------
站点设计
□ 你的站点想提供什么?
□ 信息架构:80/20准则;
□ 站点导航;
u 页面布局;
u 可用性;
n 使用ALT和Title属性;
n 不使用图片或者Image Map的导航;
□ 适合大多数低版本浏览器,考虑他们对ActiveX、RDS、XML、DHTML、Java Applet的支持状况;
□ 屏幕分辨率和屏幕颜色数
□ 是否支持WebTV、PDA…?
□ 设置IMG的width和height属性。
□ 非浏览器的访问,如自动机器人(Spider);
□ 使用帧(Frame)?
□ 使用Cookies的个性化;
□ 避免坏连接;
□ 使用meta标签;
□ 内容审核;
□ 内容检索;
□ 结果反馈:用户反馈和跟踪;
□ 减少下载时间;
--------------------------------------------------------------------------------
三层、四层应用设计
可读性、可维护性
□ 使用注释;
□ 在VBScript脚本中使用<%Option Explicit%>;
□ 使用字符串变量存储SQL字符串:便于调试;
□ 使用Server.MapPath和相对路径;
□ 使用ADODB.INC或者<!—metadata typelib=somelib file=somedll-->来引用常量,不要直接使用常量数值。
□ 指定ADO调用的缺省参数,避免出错;
□ 使用库或者部件来封装代码。
正确的方法:
--------------------------------------------------------------------------------
□ 使用Server.URLEncode
□ 错误捕获和处理
国际化:
--------------------------------------------------------------------------------
□ 使用<%CodePage%>
□ 使用Session.CodePage
□ 在IIS5.0中,Response.write支持UTF8
--------------------------------------------------------------------------------
其他:
□ 使用#include 重用代码
□ 使用分页技术
站点安全:
□ 客户身份验证
□ 输入验证
□ #include 文件不要使用.INC后缀,使用.ASP或者设置.INC的应用程序映射
□ 把MDB文件存放在非WEB路径下;
□ 使用ADSI做安全管理
--------------------------------------------------------------------------------
Session和Application状态
Session的使用:
□ 使用起来很方便但是很有问题;
□ HTTP是一个无状态的协议;
□ 设计购物推车特别有用;
□ 不利于可伸缩性设计(Scalability);
□ 在不需要Session的页面中使用<%EnableSessionState=false%>
□ 尽可能完全避免使用Session;
□ 在多个web服务器情况下不适合;
□ 某些部件使Session运行在单一线程模式,减少了吞吐量;
□ 消耗内存;
□ Session有超时的问题
□ 需要客户端的浏览器打开cookie设置;
□ 不要在session中保存recordset,或者缓存connection对象;
□ 在global.asa不要使用空的Session_OnEnd;
□ 可选方案:
□ cookies
□ 直接状态编码:简单、容易、不安全
□ 后端数据库的ID作为状态值
□ querystring 参数
□ 如amazon的url方式
n 隐藏的表单
--------------------------------------------------------------------------------
Application变量:
□ 共享变量
□ 不能持久保存
□ 多个web服务器时不行,除非只是只读变量。
缓存
□ 对静态内容非常理想
□ 不要使用Response.Expires=0,使用负数:
□ Response.Expires=-10000;
□ Response.AddHeader “Pragma”,”no-cache”
□ Response.AddHeader “cache-control”,”no-store”
□ 服务器缓存
□ proxy缓存
□ 客户端缓存
--------------------------------------------------------------------------------
部件
□ 性能
□ 伸缩性
□分离商务逻辑和页面表现
□ 被ASP或其他环境重用
□ 事务处理
□ 类型安全
□ 存取操作系统特性
□ 保护知识产权
□ 在下列情况下使用Server.CreateObject:
□ MTS事务处理
□ 上下文安全性
□ ASP内部部件
□ OnStartPage、OnEndPage
□ 使用<Object RunAt=server>延迟对象初始化
□ 是否保存到Session或者Application变量中
--------------------------------------------------------------------------------
性能
n Response缓冲:Response.Buffer=True
n 关闭Connection并:set Connection=Nothing
n 使用局部变量
n 用<Object >代替Server.CreateObject
n 不要使用Session和Application变量
n 不要将COM对象存储在Session或者Application变量中
n 关闭脚本调试
n 避免重复的字符串相加
n 在费时的页面顶端使用Response.IsClientConnected
n 使用MSMQ
n 不要在Session或者Application中存储大数组
n 不要ReDim 数组
n 将集合类型的对象赋给临时变量
n 减小微处理器的最大线程数(运行regedt32,在HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServicesw3SVCASPParameters,增加ProcessorThreadMax,减小这个值,看看性能的变化;或者增大这个值。)
n 设置AspScriptEngineCacheMax,使它等于ProcessorThreadMax*CPU个数。缺省的是30;(在系统路径下:system32inetsrv/adminisamples下,键入adsutil.vbs,设置/w3svc/AspScriptEngineCacheMax);
n 减少Session.Timeout;
n 在MMC中,设置ASP应用程序缓冲为有效。
--------------------------------------------------------------------------------
把某些工作交给客户端:
n CSS、DHTML
n XML
n RDS
n Remote Scripting
n Xmlhttp
n 客户端验证
n 减小文件大小
n 尽可能避免https和SSL
n 使用Response.End测试性能 -
[论坛] 版主回复功能的详细用法
2007-08-21 13:45:57
个人总结版主回复功能的详细用法: 在各位版主浏览会员贴子时,有的需要用到版主回复功能,大家点击版主回复后就会出现如图的回复框:
我们要增加的内容必须出现在quote标签内部,也就是quote和/quote之间,这样在提交完后才是正确的:
QUOTE:
版主回复:
楼主写的太菜了,只好我来加个图重写一下了。
如果你把内容写到/quote后面,提交后就成了这样了,这明显是有问题的:
QUOTE:
楼主写的太菜了,只好我来加个图重写一下了。版主回复:
-
[论坛] 各位老大。PHPCHINA站在卖T-shirt。54要不要也做一下啊
2007-08-21 12:27:50
这是PHPCHINA的
PHPChina 新版T-shirt出售
PHPChina 的新版T-shirt已经制作好了!这次T-shirt的样式是广大会员投票决定的,新版T-shirt在
t-shirt的款式:
此次新版t-shirt和上次一样全采用欧版尺码,所以t-shirt是足够大的,不用担心尺码偏小的问题。
t-shirt的大小:
为四种大小:M号,L号,XL号,XXL号,一般身高165CM左右适合M号,身高170CM左右适合L号,身高175CM左右适合XL号,身高180CM左右适合XXL号。但是如果你偏胖或者偏瘦,不妨把这个尺度略为调整,比如说,你是176CM的型男,并有80公斤重,那么你需要XXL号t-shirt;若你是170CM靓女,但是苗条纤细只有50公斤重,那么M号t-shirt就合适你了,重点提示下,M号是此版t-shirt的最小号。
t-shirt价格:
无论大小t-shirt都出售为25元一件,多买不打折,但可以减低运费。
运费计算:
我们采用快递递送,最快当天到达,最慢48小时达到(工作日内)。如在北京市内快递费用是5元,北京市外是10元。5件以内(含)与1件价格相同,比如说John住在北京,他购买了5件t-shirt,那么他的运费是5元。
购买方式:
费用计算:每次购买的费用为t-shirt费用+运费,比如John的5件t-shirt,它们的费用总和为25×5+5=130元。如你住在北京辖区以外的地方,只购买一件t-shirt,费用总和为35元。
支付方式:
1、通过支付宝
点此链接立即购买
2、通过银行帐号
请QQ询问联系人。
我想54也可以这样啊。给大家留个纪念!!!、
大家认为呢!!
[ 本帖最后由 绿竹居 于 2007-8-21 12:52 编辑 ] -
[论坛] 一个简单的两级分类。效果还行
2007-08-18 16:38:52
这个感觉还行。以前搞的,两个表,四个页面!页面可以自己合并的!
表一
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zhangj_city]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[zhangj_city]
GO
CREATE TABLE [dbo].[zhangj_city] (
[cityid] [smallint] IDENTITY (1, 1) NOT NULL ,
[cityname] [nvarchar] (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[provinceid] [smallint] NOT NULL ,
[provincename] [nvarchar] (40) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
表二
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zhangj_province]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[zhangj_province]
GO
CREATE TABLE [dbo].[zhangj_province] (
[provinceid] [smallint] IDENTITY (1, 1) NOT NULL ,
[provincename] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
[ 本帖最后由 绿竹居 于 2007-8-18 16:43 编辑 ]
未命名-1.jpg -
[论坛] ASP 与 数据库技术 高级指南
2007-08-17 13:58:57
如何判断字段的类型?
在存储过程中,请问如何判断所指定表的字段的类型?
由于表和视图的每一列在SYSCOLUMNS表中都有详细资料,所以,我们只管从中取用来即可,很简单哦:
select type=type_name(xusertype) from syscolumns where id=object_id('TABLE_NAME') and name='COLUMN_NAME'
其中:
1、TABLE_NAME — 要查的表的名称
2、COLUMN_NAME — 要查的字段的名称
3、object_id — 返回指定数据库对象的标识号
4、type_name — 返回指定类型编号的类型名称 -
[论坛] PHP最新工具书。集成用户注释08/12/2007
2007-08-16 15:55:52
-
[论坛] 调查一下大家都会那几种语言!
2007-08-14 14:09:54
可以多选哟。调查一下各位朋友都会那些程序。会那几种语言。
希望大家积极参与!!!
会就行的。不是很精的也算!!
[ 本帖最后由 绿竹居 于 2007-8-14 14:11 编辑 ] -
[论坛] 网络编程版块实习版主报到
2007-08-14 11:01:55
今天好忙啊。刚上BBS发现自己成了网络编程版的版主了。太高兴了。谢谢大家的支持。
会努力上进。努力的做好一个版主份内的事。份外的也努力做好。哈哈。只要我能帮忙的。。
再次谢谢大家支持。多多指教
发扬光大我们的54!!! -
[论坛] ASP函数大全一般面试ASP程序员会考
2007-08-11 12:16:25
ASP函数与VBSCRIPT类似,以下举一些常用的函数
Array()
函数返回一个数组
表达式 Array(list)
允许数据类型: 字符,数字均可
实例: <%
Dim myArray()
For i = 1 to 7
Redim Preserve myArray(i)
myArray(i) = WeekdayName(i)
Next
%>
返回结果: 建立了一个包含7个元素的数组myArray
myArray("Sunday","Monday", ... ... "Saturday")
CInt()
函数将一个表达式转化为数字类型
表达式 CInt(expression)
允许数据类型: 任何有效的字符均可
实例: <%
f = "234"
response.write cINT(f) + 2
%>
返回结果: 236
转化字符"234"为数字"234",如果字符串为空,则返回0值
CreateObject()
函数建立和返回一个已注册的ACTIVEX组件的实例。
表达式 CreateObject(objName)
允许数据类型: objName 是任何一个有效、已注册的ACTIVEX组件的名字.
实例: <%
Set con = Server.CreateObject("ADODB.Connection")
%>
CStr()
函数转化一个表达式为字符串.
表达式 CStr(expression)
允许数据类型: expression 是任何有效的表达式。
实例: <%
s = 3 + 2
response.write "The 返回结果 is: " & cStr(s)
%>
返回结果: 转化数字“5”为字符“5”。
Date()
函数返回当前系统日期.
表达式 Date()
允许数据类型: None.
实例: <%=Date%>
返回结果: 9/9/00 -
[论坛] 申请【 网络编程 】 版块版主
2007-08-10 23:01:38
申请【 网络编程 】 版块版主
申请ID:
绿竹居
――――――――――――――――――――――――――――――
申请版面名称:
【 网络编程 】
――――――――――――――――――――――――――――――
平均上网时间(小时/天):
8小时以上,早上9点到晚上10点一般在线
――――――――――――――――――――――――――――――
联系的方法(QQ、MSN等):
QQ:102360607 MSN:lzj_zhangjun@hotmail.com
――――――――――――――――――――――――――――――
目前居住城市:
广东省广州市
――――――――――――――――――――――――――――――
目前职业(详细):
WEB程序员
――――――――――――――――――――――――――――――
申请该版版主的理由:
希望可以和大家共同学习,分享我所学的知识.和大家共享讨论.和各位一起引导新手学习,积累
经验少走湾路,共同创建一个和谐融洽的论坛。
――――――――――――――――――――――――――――――
经常参与讨论的其他版面:
最多的是:【 数据库技术 】其次:【 网页制作 】
――――――――――――――――――――――――――――――
技术专长:
对ASP.MSSQL.ACCESS较熟悉.现在正在搞PHP和MYSQL,网页三剑客和PS软件个人感觉还行!
――――――――――――――――――――――――――――――
管理能力概述:
个人感觉可以胜任此版主.虽然不是最好的.但会努力做到最好!支持论坛的活动和规定.
――――――――――――――――――――――――――――――
您认为该版目前现状是否需改进及您的管理方针:
个人感觉该版人气不是很旺.应多组积一些小的活动.组织大家做一些小的东东.然后一起做些小的项
目.贴出源码.共同学习!
――――――――――――――――――――――――――――――
对繁荣论坛和本版有何想法或建议:
积极互动.发表个人的经验.调动大家的积极性.组织小活动并给大家相应的奖励!
―――――――――――――――――――――――――――――― -
[论坛] 大家帮帮我.这是怎么搞的!!
2007-08-10 14:50:50
我的机子上次被同事搞中毒后.我重装的系统.
每次都这样.一开机没多久就会出现这个东东
当我一点击确定的取消就会马上的死机.蓝屏.提示什么硬盘错误什么的.
是为什么啊.搞不好了.我搞了半天也不行.大家帮帮我啊.不然这个机子不能用了.
每次都这样一开机一会就会出现这个东西..一点就死机!!!
晕呢!!!!!

未命名.JPG -
[论坛] 以前写的一个PHP无限极分类
2007-08-04 17:29:38
这是以前定的一个PHP无限极分类
高手指教。新手学习!!CODE:
<?php
echo "<link href=\"../Inc/admincss.css\" rel=\"stylesheet\" type=\"text/css\" />";
require_once("../Inc/conn.php");
$cmysql=new sqlconn();
$menuname=$_POST['menuname'];
$menufl=$_POST['menufl'];
$menuenname=$_POST['menuenname'];
$savemodid=$_POST['savemodid'];
$delid=$_GET['delid'];
$modid=$_GET['modid'];
$addid=$_GET['addid'];
//删除部分
if (!empty($delid)){
$delmenu="delete from productmenu where menuid=$delid";
$delresult=$cmysql->query($delmenu);
if(!$delresult){
$cmysql->cerror("删除出错了","javascript.:history.back()");
exit;
}else{
$cmysql->cerror("删除成功","productmenu.php");
exit;
}
}
//修改部分
if (!empty($modid)){
$msel="select * from productmenu where menuid=$modid";
$mresult=$cmysql->query($msel);
if(!$mresult){
$cmysql->cerror("修改查询出错","javascript.:history.back();");
}else{
$mrs=$cmysql->loop($mresult);
$addid=$mrs['menuflid'];
$addname=$mrs['menuname'];
$addenname=$mrs['menuenname'];
}
}
if (isset($_POST['Submit'])){
//if (empty($menufl) || empty($menuname)){
if (empty($menuname)){
$cmysql->cerror("分类名称不能为空","javascript.:history.back();");
exit;
}
//修改部分---------
if (!empty($savemodid)){
$saveup="update productmenu set menuname='$menuname',menuflid='$menufl',menuenname='$menuenname' where menuid=$savemodid";
$cmysql->query($saveup);
$cmysql->cerror("修改成功","productmenu.php");
exit;}
//检查分类是否存在
$checksql="select * from productmenu where menuname='$menuname' || menuenname='$menuenname' and menuflid='$addid'";
$checkresult=$cmysql->query($checksql);
$checktotal=$cmysql->checknum($checkresult);
if ($checktotal!=0){
$cmysql->cerror("此分类已存在","javascript.:history.back();");
exit;
}
//添加部分
$addsql="insert into productmenu (menuname,menuflid,menuenname) values ('$menuname','$menufl','$menuenname')";
$result=$cmysql->query($addsql);
$totalid=mysql_insert_id();
//得到类ID--------------------------------
if (empty($addid)){
$newtotalid=$totalid;
}else{
$newtotalid=$addid.",".$totalid;
}
$upid="update productmenu set menuflid='$newtotalid' where menuid=$totalid";
$cmysql->query($upid);
if ($result==false){
$cmysql->cerror("添加失败","javascript.:history.back();");
exit;
}else{
$cmysql->cerror("添加分类成功","productmenu.php");
//$insertid=mysql_insert_id();
echo insertid;
exit;
}
}
//表单部分
echo<<<EHO
<title>添加产品分类</title>
<form. name="form1" method="post" action="">
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="1" class="admintable">
<tr class="admintitle">
<td colspan="2">添加产品分类</td>
</tr>
<tr class="admintr">
<td>分类名称:
<input name="menuname" type="text" id="menuname" size="15" value="$addname"> 英文名:<input name="menuenname" type="text" id="menuenname" size="15" value="$addenname"></td>
<td><input name="menufl" type="text" id="menufl" readonly="true" value="$addid"><input name="savemodid" type="hidden" value="$modid"></td>
</tr>
<tr class="admintr">
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="提交产品分类">
<input type="reset" name="Submit2" value="重填产品分类">
</div></td>
</tr>
</table>
</form>
<table width="100%" border="0" align="center" cellpadding="4" cellspacing="1" class="admintable">
<tr class="adminsmalltitle">
<td>ID</td>
<td>分类(英文)</td>
<td>分类ID</td>
<td>操作</td>
</tr>
EHO;
//显示部分
$selsql="select * from productmenu order by menuflid";
$selresult=$cmysql->query($selsql);
if (!$selresult){
$cmysql->cerror("查询出错了","javascript.:history.back();");
exit;
}else{
while($selrs=$cmysql->loop($selresult)) {
echo "<tr class=\"admintr\">";
echo "<td>".$selrs['menuid']."</td><td>";
$newflid=explode(",",$selrs['menuflid']);
//print_r($newflid);
$arraycount=count($newflid);
//echo $newflid;
//echo $arraycount;
if ($arraycount==1){
echo "<img src=\"image/dian+.gif\" align=\"absmiddle\">";
}else{
echo "<img src=\"image/left-1.gif\" align=\"absmiddle\">";
}
for ($i=1;$i<$arraycount;$i++){
echo "<img src=\"image/left-11.jpg\" align=\"absmiddle\">";
}
if ($arraycount>1)
echo "<img src=\"image/dian-.gif\" align=\"absmiddle\">";
//}
//显示空格来分类
echo "".$selrs['menuname']."(".$selrs['menuenname'].")</td>";
//echo "<td></td>";
echo "<td>".$selrs['menuflid']."</td><td><div align=\"center\"><a href=\"http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."?delid=".$selrs['menuid']."\">删除</a> <a href=\"?modid=".$selrs['menuid']."\">修改</a> <a href=\"?addid=".$selrs['menuflid']."\">添加子类</a></div></td></tr>";
}
echo "</table>";
}
?> -
[论坛] PHP上传、生成缩略图、生成文字水印和图片水印
2007-08-04 17:06:56
改进了自己以前的上传图片加了生成水印。
水印是学习一个老前辈的,感觉很不错,老前辈的水印写的较全
分享一下
高手多多指教,新手可以共同学习CODE:
<?php
/*
'-##########################################-|
'| 程序设计:(绿竹居) |
'| QQ:102360607 |
'| MSN:lzj_zhangjun@hotmail.com |
'| Email:cszjun@gmail.com |
'| 结合自己以前做的上传和生成缩略和改编一个
'| 老前辈的生成图片水印做成这个 |
'| 上传+生成缩略图+生成文字水印和图片水印 |
'| 可以直接引用 |
'-##########################################-|
*/
//审明图片文件夹
$bigfolder="img";
$smallfolder="smallimg";
//审明文件夹名称 以年月日来建议文件夹
$fdate=date("Ymd");
//echo $fdate;
//审明文件名称。以年月日时分秒命名
$fname=date("YmdHis");
$bigname="0724e_com_".$fname;
$smallname="0724e_com_".$fname."_s";
//echo $fname."<br/>".$bigname."<br/>".$smallname;
//确定大小文件夹的名称和路经
$bigaddrname=$bigfolder."/".$fdate."/".$bigname;
$smalladdrname=$smallfolder."/".$fdate."/".$smallname;
//审明小图片的高度和宽度
$RESIZEWIDTH=180;
$RESIZEHEIGHT=150;
//审明水印的文字或图片的地址及字体的地址
$fontaddr="ariblk.ttf";
$imgaddr="img.jpg";
$fontname="www.0724e.com";
//充许上传的文件扩展名
$exit_name=array(".jpg",".gif",".png");
if (isset($_POST['Submit'])){
//上传部分----------------------------
//定议上传名称和上传错误
$upfile=$_FILES['image']['name'];
$uperror=$_FILES['image']['error'];
//最简表单验证
switch ($uperror) {
case 1:
die("<div align=\"center\">上传真过PHP设置充许的最大值<a href=\"javascript.:history.back();\">点击返回</a></div>");
break;
case 2:
die("<div align=\"center\">上传超过了表单充许的最大值<a href=\"javascript.:history.back();\">点击返回</a></div>");
break;
case 3:
die("<div align=\"center\">文件只有部分被上传了<a href=\"javascript.:history.back();\">点击返回</a></div>");
break;
case 4:
die("<div align=\"center\">文件不有被上传<a href=\"javascript.:history.back();\">点击返回</a></div>");
break;
}
//检测扩展是否是充许上传的文件类型
//取得文件扩展名
$exname=strrchr($upfile,".");
//判断取得扩展名是否在要求的扩展名内
if(!in_array($exname,$exit_name))
die("<div align=\"center\">文件扩展名不对。只允许上传jpg gif png的图片<a href=\"javascript.:history.back();\">点击返回</a></div>");
//检测存放图片的目录和子目录是否存在,如果不存在则建目录和子目录,并给目录最大权限777 对LINUX或unix对WINDOWS没必要
//大图
if (!file_exists($bigfolder)){
mkdir($bigfolder,0777);
mkdir($bigfolder."/".$fdate,0777);
}else{
if (!file_exists($bigfolder."/".$fdate)){
mkdir($bigfolder."/".$fdate,0777);
}
}
//缩略图
if (!file_exists($smallfolder)){
mkdir($smallfolder,0777);
mkdir($smallfolder."/".$fdate,0777);
}else{
if (!file_exists($smallfolder."/".$fdate)){
mkdir($smallfolder."/".$fdate,0777);
}
}
//创建目录结束
//得到临时上传的文件
$upfiletmp=$_FILES['image']['tmp_name'];
//判断临时文件是否存在
if ($uperror==6)
die("<div align=\"center\">找不到临时上传文件,上传失败<a href=\"javascript.:history.back();\">点击返回</a></div>");
//水印部分==========================================
//水印函数开始============
/** $groundImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;
* $waterPos 水印位置,有10种状态,0为随机位置;
* 1为顶端居左,2为顶端居中,3为顶端居右;
* 4为中部居左,5为中部居中,6为中部居右;
* 7为底端居左,8为底端居中,9为底端居右;
* $waterImage 图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式;
* $waterText 文字水印,即把文字作为为水印,支持ASCII码,不支持中文;
* $textFont 文字大小,值为1、2、3、4或5,默认为5;
* $textColor 文字颜色,值为十六进制颜色值,默认为#FF0000(红色);
* */
function imageWaterMark($groundImage,$waterPos=0,$waterImage="",$waterText="", $textFont=5,$textColor="#FF0000")
{
$isWaterImage = FALSE;
$formatMsg = "暂不支持该文件格式,请用图片处理软件将图片转换为GIF、JPG、PNG格式。";
//读取水印文件
if(!empty($waterImage) && file_exists($waterImage)) {
$isWaterImage = TRUE;
$water_info = getimagesize($waterImage);
$water_w = $water_info[0];//取得水印图片的宽
$water_h = $water_info[1];//取得水印图片的高
switch($water_info[2]) { //取得水印图片的格式
case 1:$water_im = imagecreatefromgif($waterImage);break;
case 2:$water_im = imagecreatefromjpeg($waterImage);break;
case 3:$water_im = imagecreatefrompng($waterImage);break;
default:die($formatMsg);
}
}
//读取背景图片
if(!empty($groundImage) && file_exists($groundImage)) {
$ground_info = getimagesize($groundImage);
$ground_w = $ground_info[0];//取得背景图片的宽
$ground_h = $ground_info[1];//取得背景图片的高
switch($ground_info[2]) { //取得背景图片的格式
case 1:$ground_im = imagecreatefromgif($groundImage);break;
case 2:$ground_im = imagecreatefromjpeg($groundImage);break;
case 3:$ground_im = imagecreatefrompng($groundImage);break;
default:die($formatMsg);
}
} else {
die("需要加水印的图片不存在!");
}
//水印位置
if($isWaterImage) { //图片水印
$w = $water_w;
$h = $water_h;
$label = "图片的";
} else { //文字水印
$temp = imagettfbbox(ceil($textFont*2.5),0,"./cour.ttf",$waterText);//取得使用 TrueType 字体的文本的范围
$w = $temp[2] - $temp[6];
$h = $temp[3] - $temp[7];
unset($temp);
$label = "文字区域";
}
if( ($ground_w<$w) || ($ground_h<$h) ) {
echo "需要加水印的图片的长度或宽度比水印".$label."还小,无法生成水印!";
return;
}
switch($waterPos) {
case 0://随机
$posX = rand(0,($ground_w - $w));
$posY = rand(0,($ground_h - $h));
break;
case 1://1为顶端居左
$posX = 0;
$posY = 0;
break;
case 2://2为顶端居中
$posX = ($ground_w - $w) / 2;
$posY = 0;
break;
case 3://3为顶端居右
$posX = $ground_w - $w;
$posY = 0;
break;
case 4://4为中部居左
$posX = 0;
$posY = ($ground_h - $h) / 2;
break;
case 5://5为中部居中
$posX = ($ground_w - $w) / 2;
$posY = ($ground_h - $h) / 2;
break;
case 6://6为中部居右
$posX = $ground_w - $w;
$posY = ($ground_h - $h) / 2;
break;
case 7://7为底端居左
$posX = 0;
$posY = $ground_h - $h;
break;
case 8://8为底端居中
$posX = ($ground_w - $w) / 2;
$posY = $ground_h - $h;
break;
case 9://9为底端居右
$posX = $ground_w - $w;
$posY = $ground_h - $h;
break;
default://随机
$posX = rand(0,($ground_w - $w));
$posY = rand(0,($ground_h - $h));
break;
}
//设定图像的混色模式
imagealphablending($ground_im, true);
if($isWaterImage) { //图片水印
imagecopy($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h);//拷贝水印到目标文件
} else {//文字水印
if( !empty($textColor) && (strlen($textColor)==7) ) {
$R = hexdec(substr($textColor,1,2));
$G = hexdec(substr($textColor,3,2));
$B = hexdec(substr($textColor,5));
} else {
die("水印文字颜色格式不正确!");
}
imagestring ( $ground_im, $textFont, $posX, $posY, $waterText, imagecolorallocate($ground_im, $R, $G, $B));
}
//生成水印后的图片
@unlink($groundImage);
switch($ground_info[2]) {//取得背景图片的格式
case 1:imagegif($ground_im,$groundImage);break;
case 2:imagejpeg($ground_im,$groundImage);break;
case 3:imagepng($ground_im,$groundImage);break;
default:die($errorMsg);
}
//释放内存
if(isset($water_info)) unset($water_info);
if(isset($water_im)) imagedestroy($water_im);
unset($ground_info);
imagedestroy($ground_im);
}
//水印函数完
//存在则移动完在上传
$goodupfile=@move_uploaded_file($upfiletmp,$bigaddrname.$exname);
if (!$goodupfile){
die("<div align=\"center\">上传图片失败<a href=\"javascript.:history.back();\">点击返回</a></div>");
}else{
//文字水印
imageWaterMark($bigaddrname.$exname,5,"","HTTP://WWW.0724E.COM",5,"#FF0000");
//图片水印
//$waterImage="img.jpg";//水印图片路径
//imageWaterMark($bigaddrname.$exname,5,$waterImage);
//结束水印部分===================================
//缩略图部分------------------------------------------------------------
//判断缩略图大小函数-----
function ResizeImage($im,$maxwidth,$maxheight,$name){
$width = imagesx($im);
$height = imagesy($im);
if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
if($maxwidth && $width > $maxwidth){
$widthratio = $maxwidth/$width;
$RESIZEWIDTH=true;
}
if($maxheight && $height > $maxheight){
$heightratio = $maxheight/$height;
$RESIZEHEIGHT=true;
}
if($RESIZEWIDTH && $RESIZEHEIGHT){
if($widthratio < $heightratio){
$ratio = $widthratio;
}else{
$ratio = $heightratio;
}
}elseif($RESIZEWIDTH){
$ratio = $widthratio;
}elseif($RESIZEHEIGHT){
$ratio = $heightratio;
}
$newwidth = $width * $ratio;
$newheight = $height * $ratio;
if(function_exists("imagecopyresampled")){
$newim = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}else{
$newim = imagecreate($newwidth, $newheight);
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
ImageJpeg ($newim,$smalladdrname.$name.".jpg");
ImageDestroy ($newim);
}else{
ImageJpeg ($im,$smalladdrname.$name.".jpg");
}
}
//生成部分
if($_FILES['image']['size']){
if($_FILES['image']['type'] == "image/pjpeg"){
$im = imagecreatefromjpeg($bigaddrname.$exname);
}elseif($_FILES['image']['type'] == "image/x-png"){
$im = imagecreatefrompng($bigaddrname.$exname);
}elseif($_FILES['image']['type'] == "image/gif"){
$im = imagecreatefromgif($bigaddrname.$exname);
}
if($im){
if(file_exists($smalladdrname.".jpg")){
unlink($smalladdrname.".jpg");
}
ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$smalladdrname);
ImageDestroy ($im);
}
}
echo "<div align='center'><a href='javascript.:window.history.back()'>上传成功</a></div>";
}
//缩略图结束-----------------------------------------------------
}
?>
<form. action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input type="file" name="image" />
<input type="hidden" name="MAX_FILE_SIZE" value="<?=1024*100?>">
<input type="submit" name="Submit" value="上传图片" />
</form> -
[论坛] 装好了红旗LINUX可是不能启动怎么办??
2007-07-24 00:37:50
昨天搞了半天就不行.用的CD光驱.后来一放DVD光驱中可以装了.气晕了.早知道第一次就放DVD中就可以.
本来机子是XP和2003双系统.现在我把2003那个盘格了.装红旗LINUX,装好了.最后一重启找不到启动LINUX的地方.从那启动呢?
就是先装的WINDOWXP再装的LINUX吧!是这样的为什么还是不可以呢!!!
怎么在WINDOW中启动LINUX呀.
现在只能启动WINXP了,启动不了LINUX.那位大哥帮下忙.改C盘的BOOT.ini文件可以吗?还是要怎么办呢???
怎么启动啊...9点搞到现在也没有搞好.在网上也没有找到相关的资料!!!! -
[论坛] 大家帮我看看为什么装不上红旗LINUX 5.0简体中文桌面版啊?
2007-07-22 23:51:26
我第一次玩LINUX系统,以前没有接触过的。
两张盘。
我的硬盘是串口160G的。
分区是C,D,E,F,G
C盘是装的XP系统。
D盘是装软件和放软件的。
E盘是放资料的
F盘是放每天工作的资料和要做的东西
G盘是WINDOW2003的系统。
我又不想去掉我的2003和XP可以装红旗LINUX 5.0简体中文桌面版吗?
如果要去掉去了2003的应怎么装了。我把光盘放进去重启后。
他就出来画面。我按回车他安装。
还没有从黑屏转到安装页面时提示 我可以这全的启动系统(you may safely reboot your system)。不明白是什么意思
然后我重启,他每次到这里就过不去。是不是经把我以前的两个系统都给下了。硬盘什么都不装才行啊。
每次到了
disabling swap....
unmounting filesystems......
/mnt/runtime done
disabling/dev/loop0
/proc/bus/usb done
/proc done
/dev pts done
/sys done
/mnt/source done
然后就会出现
you may safely reboot your system
是什么意思啊。是不是主板要什么设置还是什么别的东西要设置啊!!
每个盘有资料是不是不可以装。要用虚似机吗?不用这个可以不可以装啊!我从光盘装到硬盘上,专门空出来一个盘装他可以吗?
应怎么操作呢?
我是新手。第一次玩。大家多多指教!!!!!!!!!
[ 本帖最后由 绿竹居 于 2007-7-24 11:50 编辑 ] -
[论坛] 是中国人就拒绝周杰伦!!!!周杰伦-方丈--天天念经
2007-07-14 11:17:41
日前周杰伦接受日本一个综合电台采访时被问及:"Are you Chinese?" (你是中国人吗?) 他的回答是-- "NO! I am Taianese!"(不不!我是{台湾人}!)(!!垃圾!!)请问看到这句话后,这儿还有人愿意当他的歌迷吗?至于这一个, 他前不久在兰州演出时问歌迷: 你们喜欢我吗? 歌迷答喜欢,他说:"对,你们中国人有好多都喜欢我"! 如果你是中国人,请转发!!!!!!!!!是中国人就鄙视他~~不买他的CD VCD还有一切和他有关的东西~~
饿死他娃!!!! -
[论坛] 大家帮我看看这样的配置可以不?想培新机!
2007-07-12 22:17:21
Intel Core 2 Duo E4300/盒装CPU和AMD那款的差不多啊。从来没有观注过AMD的CPU。
不过听说AMD的便宜些。性能上面不知那个好点。
这款CPU怎么样呢?CPU要1000左右的。大家帮我看一下那款CPU最适合,主要运行。PHOTOSHOP.网页三剑客。和运行..NET。PHP.MYSQL,MSSQL相关软件。
准备装LINXU和WINDOWSXP,
主版也是1000元差不多的。不要过1000啊。精英的965的好像才700多吧。不知精英主板好不好。大家帮我看一下啊。
三星的硬盘好吗?200G的。大家帮我推荐一下!!!
不要像现在这台机子。运行个软件好慢!
CPU:1000内
主版:1000内
机箱电源:300内
内存:想2G 400能搞定吗?
硬盘:450差不多了吧!
大家帮我看一下。显卡就集成的吧!!!


