2005年5月28日星期六

提交表单后PHP不能获取提交内容

  问题:网页上提交表单之后,PHP为什么不能获取提交的内容?然而在老版本的PHP上运行却正常。

  新版的PHP已经废弃了原来的表单内容处理方式,即不再把提交的表单的内容直接复制到一个同名变量中。解决办法有四个:

  1. 修改php.ini,查找 register_globals,将其值修改为 On。这样就可以像原来一样,例如,提交的表单中包括一个名为"username"的变量,那么在php中就可以直接使用$username来访问该变量。但是,除非你要使用一段旧的代码而考虑到兼容性问题,否则不建议使用该方法。

  2. 使用 $HTTP_GET_VARS、$HTTP_POST_VARS数组来访问,例如写成$HTTP_POST_VARS["username"]的形式。不过该方法也不建议采用。

  3. (推荐)使用 $_POST、$_GET等数组来访问,例如写成 $_POST["username"]的形式。建议采用这种方法。

  4. (推荐)使用 import_request_variables 函数。该函数将提交内容导入到变量中。例如 import_request_variables("gp", "rvar_");第一个参数可以选择g,p,c,分别表示导入 GET,POST,COOKIE 变量;第二个参数为导入后的变量前缀。执行上面的语句后即可使用 $rvar_username 来访问提交的 username 变量。使用import_request_variables("gp", "");可以兼容以前的PHP程序。

  Tips: 第三项中提到的预设变量有: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIE, $_FILES, $_ENV, $_REQUEST, $_SESSION等。详细信息请参考PHP手册。

2005年5月26日星期四

预防夺命杀手-高血压

  人体的血压易受多种因素影响而发生波动,正常生理状态下,血压常会随着人们的饮食、起居、脑力活动、体力活动及情绪变化等有一定的波动,这种波动是有一定范围的,是血压为适应生理需要而进行自我调节的结果,属于正常反应。若血压高出正常范围者,即可称为高血压。高血压是一种以动脉压升高为特征,伴有心、脑、肾等器官异常的全身性疾病。早期表现为血压升高和神经系统功能失调(头痛、头昏、头胀、失眠、心悸、健忘等),后期出现各有关脏器的功能不全。

  这些天公司进行了体检,我才发现自己的血压已经到了高血压的临界值(临界高血压是140/90毫米汞柱),危险啊,健康对于一个人来说才是根本,没有了健康,其他什么东西都是空谈。

  我查看了一些资料,上面说:合理膳食、适量运动、戒烟限酒、心理健康为人类心脏健康的“四大基石”。因此我决定采取以下措施来降低血压:

  合理安排膳食结构,不吃脂肪、高胆固醇食物,限制过量热能,防止超常体重。限制食盐。每天食盐量小于5克,多喝酸牛奶。不吸烟不喝酒。心理健康、生活规律、保持良好的心境和情绪稳定。适当运动,锻炼身体。

  相对其他几项来说,锻炼运动对于我来说比较难以坚持,做为一个知识工作者,平时的运动量就非常少,工作也很忙碌。因此我决定每天早上进行晨练,这样即可以锻炼身体又不影响正常工作,花费的时间也较少。

  战胜高血压是一个漫长的过程,必须有好的心态和积极的行动,必须坚持良好的生活方式和科学地降压方法,要持之以恒,如果我能长期坚持这些的标准,相信一定会有所收获。我的目标就是:把我的血压降低到高压小于110毫米汞柱,低压小于75毫米汞柱。

  参考:高血压有哪些危害

  轻型高血压(低压为90-104mmHg),如果不给予治疗,7-10年后约10%的病人会死亡,50%左右的病人发生左室肥大、视网膜病变、脑血管疾病、心脏以及肾脏功能障碍甚至衰竭。

  中重度高血压(低压大于105mmHg),若不及时治疗,5年之后约有一半左右的病人会发生心血管并发症,年龄越大出现并发症的机会越多。

  低压低于130mmHg时,病情进展较为缓慢,若将血压稳定在理想水平,可延缓心血管并发症的发生。

  低压超过130mmHg且合并有心、脑、肾功能障碍时,若不及时治疗,心、脑、肾等脏器会出现功能衰竭,反过来又会使血压上升,往往在半年内夺去病人的生命。

2005年5月16日星期一

Windows2003中不允许的父路径问题

  今天解决了一个问题。

问题:

Active Server Pages 错误 ''ASP 0131''

不允许的父路径

/Main/default.asp,行 2

包含文件 ''../public/ucode.asp'' 不能用 ''..'' 表示父目录。

解决方法:

类似 ../ 父路径的问题.IIS6 为提高安全性,默认设置是禁止使用父路径,所以你的程序会出错,解决方法也很简单,在IIS6的站点属性中选择“使用父路径”即可。

IIS6==>站点属性==>主目录==>配置==>选项==>启用父路径

这样就可以了, 告诉你个详细的方法,在IIS6里点帮助(F1),然后搜索“父路径”,里面有详细的设置方式。

2005年5月13日星期五

在HTML文件引入其它HTML文件的几种方法

在论坛中常常有网友问到,可以在一个html的文件当中读取另一个html文件的内容吗?答案是确定的,而且方法不只一种,在以前我只会使用iframe来引用,后来发现了另外的几种方法,那今天就总结这几种方法让大家参考一下。

1.IFrame引入,看看下面的代码

--------------------------------------------------------------------------------
<IFRAME NAME="content_frame" width=100% height=30 marginwidth=0 marginheight=0 SRC="import.htm" ></IFRAME>
--------------------------------------------------------------------------------

你会看到一个外部引入的文件,但会发现有一个类似外框的东西将其包围,可使用

--------------------------------------------------------------------------------
<iframe name="content_frame" marginwidth=0 marginheight=0 width=100% height=30 src="import.htm" frameborder=0></iframe>
--------------------------------------------------------------------------------

但你会发现还会有点问题,就是背景色不同,你只要在引入的文件import.htm中使用相同的背景色也可以,但如果你使用的是IE5.5的话,可以看看这篇关于透明色的文章 如果想引入的文件过长时不出现滚动条的话在import.htm中的body中加入scroll=no

2.<object>方式

--------------------------------------------------------------------------------
<object style="border:0px" type="text/x-scriptlet" data="import.htm" width=100% height=30></object>
--------------------------------------------------------------------------------

3.Behavior的download方式

--------------------------------------------------------------------------------
<span id=showImport></span>
<IE:Download ID="oDownload" STYLE="behavior:url(#default#download)" />
<script>
function onDownloadDone(downDate){
showImport.innerHTML=downDate
}
oDownload.startDownload('import.htm',onDownloadDone)
</script>
--------------------------------------------------------------------------------

2005年5月12日星期四

VB代码撰写约定

  这是一家公司软件部规定的VB组代码撰写暂行约定。对于VB项目的协同开发有一定的帮助和指导。

一、变量和对象

    程序中的变量遵循匈牙利表示法,即“前缀+变量含义”,变量的含义为一个或多个英文单词,每个单词的第一个字母大写,不要用汉语拼音代替。变量前缀为三个小写字母示意其类型,所需添加的前缀遵循微软在MSDN中的建议。列表如下:

 

    基本数据类型

变量类型

前缀

示例

Boolean

bln

blnFound

Byte

byt

bytRasterData

Collection object

col

colWidgets

Currency

cur

curRevenue

Date (Time)

dtm

dtmStart

Double

dbl

dblTolerance

Error

err

errOrderNum

Integer

int

intQuantity

Long

lng

lngDistance

Object

obj

objCurrent

Single

sng

sngAverage

String

str

strFName

User-defined type

udt

udtEmployee

Variant

vnt

vntCheckSum

   

    控件或窗体、模块对象

控件类型

前缀

示例

3D Panel

pnl

pnlGroup

ADO Data

ado

adoBiblio

Animated button

ani

aniMailBox

Check box

chk

chkReadOnly

Combo box, drop-down list box

cbo

cboEnglish

Command button

cmd

cmdExit

Common dialog

dlg

dlgFileOpen

Communications

com

comFax

Control (在过程中使用的类型未明的控件变量)

ctr

ctrCurrent

Data

dat

datBiblio

Data-bound combo box

dbcbo

dbcboLanguage

Data-bound grid

dbgrd

dbgrdQueryResult

Data-bound list box

dblst

dblstJobType

Data combo

dbc

dbcAuthor

Data grid

dgd

dgdTitles

Data list

dbl

dblPublisher

Data repeater

drp

drpLocation

Date picker

dtp

dtpPublished

Directory list box

dir

dirSource

Drive list box

drv

drvTarget

File list box

fil

filSource

Flat scroll bar

fsb

fsbMove

Form

frm

frmEntry

Frame

fra

fraLanguage

Gauge

gau

gauStatus

Graph

gra

graRevenue

Grid

grd

grdPrices

Hierarchical flexgrid

flex

flexOrders

Horizontal scroll bar

hsb

hsbVolume

Image

img

imgIcon

Image combo

imgcbo

imgcboProduct

ImageList

ils

ilsAllIcons

Label

lbl

lblHelpMessage

Lightweight check box

lwchk

lwchkArchive

Lightweight combo box

lwcbo

lwcboGerman

Lightweight command button

lwcmd

lwcmdRemove

Lightweight frame

lwfra

lwfraSaveOptions

Lightweight horizontal scroll bar

lwhsb

lwhsbVolume

Lightweight list box

lwlst

lwlstCostCenters

Lightweight option button

lwopt

lwoptIncomeLevel

Lightweight text box

lwtxt

lwoptStreet

Lightweight vertical scroll bar

lwvsb

lwvsbYear

Line

lin

linVertical

List box

lst

lstPolicyCodes

ListView

lvw

lvwHeadings

MAPI message

mpm

mpmSentMessage

MAPI session

mps

mpsSession

MCI

mci

mciVideo

Menu

mnu

mnuFileOpen

Month view

mvw

mvwPeriod

MS Chart

ch

chSalesbyRegion

MS Flex grid

msg

msgClients

MS Tab

mst

mstFirst

OLE container

ole

oleWorksheet

Option button

opt

optGender

Picture box

pic

picVGA

Picture clip

clp

clpToolbar

ProgressBar

prg

prgLoadFile

Remote Data

rd

rdTitles

RichTextBox

rtf

rtfReport

Shape

shp

shpCircle

Slider

sld

sldScale

Spin

spn

spnPages

StatusBar

sta

staDateTime

SysInfo

sys

sysMonitor

TabStrip

tab

tabOptions

Text box

txt

txtLastName

Timer

tmr

tmrAlarm

Toolbar

tlb

tlbActions

TreeView

tre

treOrganization

UpDown

upd

updDirection

Vertical scroll bar

vsb

vsbRate

 

    数据库对象

数据库对象

前缀

示例

Container

con

conReports

Database

db

dbAccounts

DBEngine

dbe

dbeJet

Document

doc

docSalesReport

Field

fld

fldAddress

Group

grp

grpFinance

Index

ix

idxAge

Parameter

prm

prmJobCode

QueryDef

qry

qrySalesByRegion

Recordset

rec

recForecast

Relation

rel

relEmployeeDept

TableDef

tbd

tbdCustomers

User

usr

usrNew

Workspace

wsp

wspMine

 

    除此之外,还要对于一些不同的级别的变量加额外的前缀,举例如下:

级别

前缀

示例

全局变量

g

gstrUserName

模块级变量

m

mblnCalcInProgress

过程级变量

None

dblVelocity

 

    对于用户使用type关键字定义的数据类型,在三个字母的前缀前再加u。例如:一个用户定义的叫Client类型的变量,其前缀为ucli。

 

    关于变量使用方面,建议如下:

1、变量要先声明再使用(在窗体代码的第一行加上Option Explicit,来禁止未声明变量的调用,或者在菜单Tools->Options->Editor中选中Require Variable Declaration项。)

2、尽量使用Long型的变量来代替Integer类型,这样做可以减少一些数据溢出的错误,而且,在Win32平台上,CPU处理32位的数据比16位的数据速度更快。

3、尽量少用Variant变量,尽可能地给出每一个变量明确的类型

4、尽量不在API声明中使用As Any,如果遇到其默认的参数为As Any的情况,则针对每一个所需的参数类型声明该API函数,例如ReadFile函数默认的声明为:

Public Declare Function ReadFile Lib "kernel32" Alias "ReadFile" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long

小组成员须将其改为:

Public Declare Function ReadFileByt Lib "kernel32" Alias "ReadFile" (ByVal hFile As Long, lpBuffer As Byte, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long

Public Declare Function ReadFileInt Lib "kernel32" Alias "ReadFile" (ByVal hFile As Long, lpBuffer As Integer, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long

Public Declare Function ReadFileLng Lib "kernel32" Alias "ReadFile" (ByVal hFile As Long, lpBuffer As Long, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long

 

5、不要将类型转换的工作交给VB自动去做,而使用以下类型转换函数

CBool(expression)

CByte(expression)

CCur(expression)

CDate(expression)

CDbl(expression)

CDec(expression)

CInt(expression)

CLng(expression)

CSng(expression)

CStr(expression)

CVar(expression)

 

二、窗体布局

    窗体内各个控件的布局,建议如下:

    1、所有与窗体上、下、左、右四条边界相邻的控件与窗体的边缘相距120缇

    2、各个控件之间的间距为:相关控件60缇,非相关控件120缇

    3、按钮控件大小建议为高300缇,长1200缇,这也是操作系统默认按钮的大小

    4、各个控件的字体建议为宋体五号字

 

三、代码

  1、程序的启动对象

  程序一率从Main()函数开始执行(选择菜单View->Project Explorer,在工程窗口内右键点击当前项目,选择菜单“… Properties”->General,在Startup Object下拉框中选择sub main)

  2、代码缩进与间距

  每个单位的代码缩进为一个TAB,非相关代码留一行空白的间隔,例如:

  Private Function GetMax(Byref lngArray() As Long) As Long

  GetMax=0

  Dim lngMax As Long

  Dim lngCount as long

  For lngCount =0 to Ubound(lngArray)

  If lngArray (lngCount)>lngMax Then

  lngMax=lngArray(lngCount)

  End If

  Next

  End Function

  3、注译

  程序的注译越详尽,越仔细越好。以下提及的,必须加注译。

  程序中声明的每一个变量,能加上注译最好,至少用来运算或者保存关键数据的变量必须加上注译。

  对于每一段逻辑上实现某个基本功能的几句代码,最好在其上一行加上简单注译。

  对于每一个自定义的函数,不管大小都必须加上注译,而且注译的格式如下:

  '******************************************************

  '

  '函数所实现的功能

  '函数的参数1的含义:XXXXX

  '函数的参数2的含义:XXXXX

  '……

  '函数返回值所代表的错误信息:XXXXX(函数尽可能声明为Function,不要声明为Sub,

  '函数的返回值为0表示执行成功,为其它值表示执行失败)

  '

  '******************************************************

  Public(Private) Function ForExample(……………………) As Long

  '…………………………………………

  End Function

  4、错误处理(未定)

  在Main()函数或主窗体Load过程中添加如下代码:

  '******************************************************

  '

  '打开错误日志文件,在Form_Unload()中关闭

  '

  '******************************************************

  Dim strExePath As String

  If Right(App.Path, 1) = "" Then

  strExePath = App.Path

  Else

  strExePath = App.Path & ""

  End If

  intErrLogFileHandle = FreeFile()

  Open strExePath + "Err.log" For Append Shared As intErrLogFileHandle

  在主窗体退出函数中添加如下代码:

  '******************************************************

  '

  '关闭错误日志文件

  '

  '******************************************************

  Close #intErrLogFileHandle

  在某个Module中添加:

  '******************************************************

  '

  '写入错误日志

  '

  '******************************************************

  Public Sub WriteErrLogFile(ByVal strSub As String, ByVal strErr As String)

  Print #intErrLogFileHandle, Date, Time, strSub, strErr

  End Sub

  在每个过程或自定义的函数中,使用如下的系统错误捕获机制:

  Public Function ForExample(…………) As Long

  On Error Goto FuncError

  ForExample=True

  ………………………

  ………………………

  Exit Function

  FuncError:

  ForExample=False

  WriteErrLogFile " ForExample ", "错误号:" & Err.Number & ",错误源:" & Err.Source & ",错误描述:" & Err.Description

  MsgBox  "……… ", vbCritical

  '在此作内存资源回收工作

  End Function

海外网站资源索引

    一些海外英文资源的链接,包括主机评论,低价主机,免费主机,免费空间,博客工具,广告联盟,搜索优化,目录索引,站长讨论,站长资源等。本网址链接为本人几个月来辛苦收集的原创资源,每个都手工校验过,请勿滥用里面的资源。

主机评论 HostReview

Web Hosting Stuff - Hosting Companies Ranked & Reviewed
WebHostingTalk Forums - Web Hosting Forum

低价主机 CheapHosting

1&1 Internet Inc. - Web Hosting Services and Domain Name Registration
DeltaWebHosting - Cheap Web Hosting Services - Home
Go Beyond. Exceed. Surpass Hosting
Hostinginsiders.com - FREE domain name included
RiotHost.com - Ultimate Web Deals
Robotical World Hosting - Escape from Reality
Startlogic.com - The Best Webhosting You Will Ever Get!
Vega Host - Affordable Web Hosting, Domain Name Registration & Web Design Services
www.3ix.org - 3iX provides reliable, low cost web hosting

免费主机 FreeHosting

Doteasy - 100MB Free Web Hosting, Free Email, Domain Names for Business and Individuals
Free Web Hosting - FreeWeb-Hosting.com
Free Webspace and Free Web Hosting Services
FreeWebHostingTalk
Microworld Dotcom - Network Solutions for Global Success
netrulon.com - Free Web Hosting
The Zack Network Web Hosting Services
Wagoo - 199MB Free Web Hosting, Free Email, Domain Names for Business, Free phpBB Forum

免费空间 FreeHomepage

Free Web Hosting
Free websites and webpages, photo albums, chatrooms and more by FreeWebs
Free Webspace and Free Web Hosting Services

博客工具 BLOG

Movable Type
Word Press

广告联盟 AffiliateProgram

Affiliate Programs Directory - Lists over 840 Affiliate Programs!
goClick.com - Targeted, High-Quality, Pay-Per-Click Advertising
Webmaster money resources - affiliate programs reviewed.

搜索优化 SEO

Search Engine Optimization, Google Optimization - SEO Chat
SEOZip - SEO Answers in a ZIP....

目录索引 WebDirectory

01Webdirectory.com - Best of Web Directory
General Internet Directories - SearchEngineOne
Jayde.com - The B2B Search Engine
Strongest Links - Directory list
Web Directory - Ajdee.com directory
Web Directory - PureDirectory.com
Web Directory by HotVsNot.Com
Web Directory Directory

站长讨论 WebmasterForum

Webmaster-Talk.com Webmaster Forum - Web Design, PHP, SEO, Hosting, Graphics and more
WebmasterWorld News and Discussion for the Independent Web Professional

站长资源 WebmasterResource

Web Site Development Resources Directory
Webmaster Resources - Free Web Tools

关键词搜索次数查询

可以帮助你选择关键字,避开激烈的竞争,独辟蹊径。

1、百度搜索关键字搜索频率查询 

http://www2.baidu.com/inquire/dsquery.php

2、网易搜索关键字搜索次数及价格查询 

http://adpsearch.163.com/find_price.php

3、搜狐搜索关键词搜索次数/类目固定排序报价查询 

http://db.sohu.com/regurl/pv_price/query_consumer.asp

4、新浪搜索关键字价格查询 

http://chaxun.sina.com.cn/