存档

‘PHP技术’ 分类的存档

PHP写的提交表单到E-mail邮箱程序

2010年3月8日 赵健 没有评论

最近网站改版,想弄一个在线提交表单邮箱的程序,找了很多都用不了,最后自己研究了一个。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<html>
<body>
<?php
function spamcheck($field)
  {
  //filter_var() sanitizes the e-mail
  //address using FILTER_SANITIZE_EMAIL
  $field=filter_var($field, FILTER_SANITIZE_EMAIL);
 
  //filter_var() validates the e-mail
  //address using FILTER_VALIDATE_EMAIL
  if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
    return TRUE;
    }
  else
    {
    return FALSE;
    }
  }

if (isset($_REQUEST['w_14']))
  {//if "email" is filled out, proceed

  //check if the email address is invalid
  $mailcheck = spamcheck($_REQUEST['w_14']);
  $w_1_check = $_REQUEST['w_1'];
  $w_8_check = $_REQUEST['w_8'];
  $w_13_check = $_REQUEST['w_13'];
  if ($mailcheck==FALSE)
    {
    echo "<script language=\"JavaScript\">\r\n";
    echo " alert(\"请您认真填写 E-Mail,以便工作人员与您取得联系。谢谢合作!\");\r\n";
    echo " history.back();\r\n";
    echo "</script>";
    }
          if ($w_1_check=='')
    {
    echo "<script language=\"JavaScript\">\r\n";
    echo " alert(\"请您认真填写公司名称,以便工作人员与您取得联系。谢谢合作!\");\r\n";
    echo " history.back();\r\n";
    echo "</script>";
    }
          if ($w_8_check=='')
    {
    echo "<script language=\"JavaScript\">\r\n";
    echo " alert(\"请您认真填写姓名,以便工作人员与您取得联系。谢谢合作!\");\r\n";
    echo " history.back();\r\n";
    echo "</script>";
    }        
         if ($w_13_check=='')
    {
    echo "<script language=\"JavaScript\">\r\n";
    echo " alert(\"请您认真填写QQ/MSN号码,以便工作人员与您取得联系。谢谢合作!\");\r\n";
    echo " history.back();\r\n";
    echo "</script>";
    }
  else
    {//send email
    $email = $_REQUEST['w_14'] ;
    $subject = $_REQUEST['w_1'] . " " . $_REQUEST['w_8'] ;
    $message = "公司名称 :". $_REQUEST['w_1'] . "\r\n" . "网页语种 :". $_REQUEST['w_2_1'] . "/" . $_REQUEST['w_2_2'] . "/" . $_REQUEST['w_2_3'] . "/" . $_REQUEST['w_2_4'] . "/" . $_REQUEST['w_2_5'] . "/" . "\r\n" . "需要借鉴的站点 :". $_REQUEST['w_3'] . "\r\n" . "主要业务介绍 :". $_REQUEST['w_4'] . "\r\n" . "建站费用预算 :". $_REQUEST['w_5'] . "-" . $_REQUEST['w_6'] . "\r\n" . "要求建站完成时间 :". "希望完工的日期" . $_REQUEST['w_7'] . "\r\n" . "                  希望完工的天数" . $_REQUEST['w_7_1'] . "\r\n" . "网站建设其他要求 :". $_REQUEST['w_7_2'] . "\r\n" . "=============================================================" . "\r\n" . "姓名 :". $_REQUEST['w_8'] . "\r\n" . "性别 :". $_REQUEST['w_9'] . "\r\n" . "电话 :". $_REQUEST['w_11'] . "\r\n" . "手机 :". $_REQUEST['w_12'] . "\r\n" . "QQ/MSN :". $_REQUEST['w_13'] . "\r\n" . "电子邮箱 :". $_REQUEST['w_14'] . "\r\n" . "Skype :". $_REQUEST['w_15'] . "\r\n" . "邮编 :". $_REQUEST['w_16'] . "\r\n" . "详细地址 :". $_REQUEST['w_17'] . "\r\n";
    mail("jinpaiwww@126.com", "$subject 填写的网站建设意向表。",
    $message, "From: $email");
    echo "<script language=\"JavaScript\">\r\n";  
    echo "alert(\"信息提交成功!请等待工作人员与您取得联系。自动返回首页\");\r\n";  
    echo "location.replace(\"http://www.jinpaiwww.com/\");\r\n";  
    echo "</script>";
    }
  }
else
  {//if "email" is not filled out, display the form
  echo "<form id='form1' action='http://www.jinpaiwww.com/b/b.php' method='post' name='form1'>
    <table class='table_1' cellspacing='0' cellpadding='0' width='675' border='0'>
        <tbody>
            <tr>
                <th colspan='2'>网站建设申请表</th>
            </tr>
            <tr>
                <td class='input_1' width='125'>公司名称</td>
                <td class='input_2' width='550'><input class='input_text' style='width: 300px' name='w_1' type='text' /></td>
            </tr>
            <tr>
                <td class='input_1' width='125'>网页语种</td>
                <td class='input_2' width='550'><input type='checkbox' checked='checked' name='w_2_1' value='中文简体' /> <label for='w_2_1'>中文简体</label> <input type='checkbox' name='w_2_2' value='中文繁体' /> <label for='w_2_2'>中文繁体</label> <input type='checkbox' name='w_2_3' value='英文' /> <label for='w_2_3'>英文</label> <input type='checkbox' name='w_2_4' value='日文' /> <label for='w_2_4'>日文</label> <input type='checkbox' name='w_2_5' value='其它语言' /> <label for='w_2_5'>其它语言</label></td>
            </tr>
            <tr>
                <td class='input_1' width='125'>希望借鉴的站点</td>
                <td class='input_2' width='550'><input style='width: 300px' name='w_3' type='text' /></td>
            </tr>
            <tr>
                <td class='input_1' width='125'>主要业务介绍</td>
                <td class='input_2' width='550'><textarea class='input_text' style='width: 300px' name='w_4'></textarea></td>
            </tr>
            <tr>
                <td class='input_1' width='125'>建站费用预算</td>
                <td class='input_2' width='550'><input class='input_text' name='w_5' type='text' /> -- <input class='input_text' name='w_6' type='text' /> 元</td>
            </tr>
            <tr>
                <td class='input_1' width='125'>要求建站完成时间</td>
                <td class='input_2' width='550'><input class='input_text' name='w_7' value='希望完工的日期' type='text' /> <input class='input_text' name='w_7_1' value='希望完工的天数' type='text' /> 天</td>
            </tr>
            <tr>
                <td class='input_1' width='125'>网站建设其它要求</td>
                <td class='input_2' width='550'><textarea class='input_text' style='width: 300px' name='w_7_2'></textarea></td>
            </tr>
        </tbody>
    </table>
    <table class='table_1' cellspacing='0' cellpadding='0' width='675' border='0'>
        <tbody>
            <tr>
                <th colspan='4'>联系人信息</th>
            </tr>
            <tr>
                <td class='input_1' width='129'>姓  名</td>
                <td class='input_2' width='202'><input name='w_8' type='text' /></td>
                <td class='input_1' width='96'>性  别</td>
                <td class='input_2' width='246'><input type='radio' checked='checked' name='w_9' value='小姐' />小姐 <input type='radio' name='w_9' value='先生' />先生</td>
            </tr>
            <tr>
                <td class='input_1' align='left'>电  话</td>
                <td class='input_2'><input class='input_text' name='w_11' type='text' /></td>
                <td class='input_1'>手  机</td>
                <td class='input_2'><input name='w_12' type='text' /></td>
            </tr>
            <tr>
                <td class='input_1'>QQ / MSN</td>
                <td class='input_2'><input class='input_text' name='w_13' type='text' /></td>
                <td class='input_1'>电子邮箱</td>
                <td class='input_2'><input name='w_14' type='text' /></td>
            </tr>
            <tr>
                <td class='input_1'>Skype</td>
                <td class='input_2'><input class='input_text' name='w_15' type='text' /></td>
                <td class='input_1'>邮  编</td>
                <td class='input_2'><input name='w_16' type='text' /></td>
            </tr>
            <tr>
                <td class='input_1'>详细地址</td>
                <td class='input_2'><input name='w_17' type='text' /></td>
                <td class='input_1'>公司地址</td>
                <td class='input_2'><input name='w_172' type='text' /></td>
            </tr>
        </tbody>
    </table>
                     
    <table class='table_1' cellspacing='0' cellpadding='0' width='675' border='0'>
        <tbody>
            <tr>
                <td class='input_2'>
                <div align='center'><input id='send_mail_agent' type='submit' name='w_18' value='Submit' /></div>
                </td>
            </tr>
        </tbody>
    </table>
  </form>";
  }
?>

</body>
</html>
标签:, , , , , , ,

相关日志

Windows下的Apache+PHP+MySQL绿色环境套件包PHPnow1.5.5发布

2010年2月8日 赵健 1 条评论

PHPnow 是 Win32 下绿色的 Apache + PHP + MySQL 环境套件包。简易安装、快速搭建支持虚拟主机的 PHP 环境。附带 PnCp.cmd 控制面板,帮助你快速配置你的套件,使用非常方便。
安装 PHPnow 只需解压、初始化,就可得到一个标准的 PHP + MySQL 的服务器环境。然后就可以直接安装 Discuz! 等程序,或者进行 PHP 开发调试。

国内的专业PHP集成环境,在中国农历新年即将到来时候发布,一个更新。这的确让人激动。希望这个让初 学者上手的套件环境不要离们远去。
官方主页:http://www.phpnow.org

最新版本包含:

* 默认没有启用。执行 PnCp.cmd 选 3 启用。

下载:PHPnow-1.5.5

标签:, , , , , , , , , , ,

相关日志

php Undefined index和Undefined variable的解决方法

2009年9月20日 赵健 1 条评论

这段时间在做项目过程中老是出现这个提示
Notice: Undefined index: act in *:\***\***.php on line *
另外,有时还会出现
引用内容
Notice: Undefined variable: Submit ……
等一些这样的提示
原因:由于变量未定义引起的
解决方法
1) error_reporting设置:
找到error_reporting = E_ALL
修改为error_reporting = E_ALL & ~E_NOTICE
2) register_globals设置:
找到register_globals = Off
修改为register_globals = On

标签:, , ,

相关日志

Windows 2003下IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置

2009年4月24日 赵健 没有评论

一、软件准备

1、windos2003
2、IIS6.0
3、php-5.0.4-Win32
4、mysql-5.1.6-alpha-win32
5、ZendOptimizer-2.6.0-Windows-i386
6、phpMyAdmin-2.7.0-pl2

二、开始安装

请确认已经安装好了windos2003+IIS6.0

第一步:安装PHP

1、将下载得到的php-5.0.4-Win32解压移动到自己需要放置的目录;

2、将PHP目录下的php.exe、php-win.exe和php.ini-dist三个文件拷到C:\Windows目录下;

3、将C:\Windows\php.ini-dist改名为php.ini,然后用记事本打开,

(1)利用记事本的查找功能搜索

register_globals = Off 将 Off 改成 On ;

(2)再搜索

extension_dir = 并将其路径指到你的 PHP 目录下的 ext 目录,比如:extension_dir = “C:\Inetpub\php\ext”

(3)搜索找到

;Windows Extensions 将下面列举的

;extension=php_dbase.dll

;extension=php_gd2.dll (这是用来支持GD库的)

;extension=php_ldap.dll

;extension=php_mbstring.dll (这不选一般用PHPMYADMIN会出红色提示,故必选)

;extension=php_mssql.dll (这个是用来支持MSSQL的,可选)

;extension=php_mysql.dll (这个是用来支持MYSQL的,要支持MYSQL必选)

将这些前的”;”去掉,其他的你需要的也可以去掉前面的;然后关闭保存该文件。

4、配置 IIS 使其支持 PHP:

打开 IIS 后停止服务,然后在左侧默认Web站点上单击右键选择“属性”,
在打开的“ Web 站点属性”窗口的“ISAPI 筛选器”标签里找到并点击“添加”按钮,
在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP ,再将可执行文件指向 php5isapi.dll
所在路径,如:C:\Inetpub\php\php5isapi.dll 。

[attachment=888]

打开“Web 站点属性”窗口的“主目录”标签,找到并点击“配置”按钮,
在弹出的“应用程序配置”窗口中找到并点击“添加”按钮,
在弹出的窗口中新增一个扩展名映射,扩展名为 .php ,单击“浏览”将可执行文件指向 php5isapi.dll
所在路径,如:C:\Inetpub\php\php5isapi.dll,然后一路确定即可。

[attachment=889]

再打开“Web 站点属性”窗口的“文档”标签,找到并点击“添加”按钮,向默认的 Web
站点启动文档列表中添加 index.php 项。
您可以将 index.php 升到最高优先级,这样,访问站点时就会首先自动寻找并打开 index.php 文档。

[attachment=890]

确定 Web 目录的应用程序设置和执行许可中选择为“纯脚本”,然后关闭 Internet 信息服务管理器,

在命令提示符中执行如下命令:

net stop w3svc
net stop iisadmin
net start w3svc

然后在“Internet 服务管理器”左边的“WEB服务扩展”中设置
ISAPI 扩展 允许,
Active Server Pages 允许。

[attachment=891]

在 IIS 根目录下新建一个 phpinfo.php ,命名为:index.php 内容如下:

phpinfo();
?>

打开浏览器,输入:http://localhost/
将显示当前服务器所支持 PHP 的全部信息。

[attachment=892]

第二步:安装 MySQL

将下载得到的 mysql-5.1.6-alpha-win32 直接双击安装即可(注意安装目录不要太深,路径中不要出现空格)。

安装过程中会提示你是不是立即进行配置,选择否即可完成安装。

安装完毕后,在“开始”菜单里面有配置向导MySQL Server Instance Config Wizar,
运行后按下面步骤配置设置ROOT密码即可

[attachment=893]

[attachment=894]

ROOT密码,建议社设置复杂点,确保服务器安全!

[attachment=895]

第三步:安装 Zend Optimizer

将下载后得到 ZendOptimizer-2.6.0-Windows-i386 直接双击安装即可,
安装过程要你选择 Web Server 时,选择 IIS ,然后提示你是否 Restart Web Server,选择是,完成安装之前提示是否备份 php.ini ,点确定后安装完成。

Zend Optimizer 的安装向导会自动根据你的选择来修改 php.ini 帮助你启动这个引擎。

打开 php.ini 搜索:
zend_optimizer.optimization_level=15

优化程度,这里定义启动多少个优化过程,默认值是 15 ,
表示同时开启 10 个优化过程中的 1-4 ,们可以将这个值改为 1023,表示开启全部10个优化过程。

第四步:安装GD库

这一步在前面PHP.INI配置中实际上已经安装好了,

在php.ini里找到

“extension_dir”,然后将路径指向extension,如下(假设你的php安装路
径为:C:\Inetpub\php,设置extension_dir = “C:\Inetpub\php\ext”,完成这步后,
在 php.ini 里找到 “extension=php_gd2.dll” 这一行,并且去掉前面的分号,gd库安装完成。

第五步:安装 phpMyAdmin

将下载得到的 phpMyAdmin-2.7.0-pl2 ,解压到 IIS 默认网站根目录,
找到并打开 config.default.php,做以下修改:

1、搜索 $cfg['PmaAbsoluteUri'] ,设置你的phpmyadmin的URL,
如: $cfg['PmaAbsoluteUri'] = ‘http://localhost/phpmyadmin/’;

注意这里假设phpmyadmin在默认站点的根目录下

2、搜索$cfg['blowfish_secret'],设定好root密码后这里也要填写mysql设置时的密码

3、搜索 $cfg['DefaultLang'] ,将其设置为 zh-gb2312

4、搜索 $cfg['DefaultCharset'] ,将其设置为 gb2312

5、搜索 $cfg['Servers'][$i]['auth_type'] ,默认为config,是不安全的,不推荐,推荐使用cookie,
将其设置为 $cfg['Servers'][$i]['auth_type'] = ‘cookie’;

打开浏览器,输入:http://localhost/phpMyAdmin/ ,若 IIS 和 MySQL
均已启动,输入用户ROOT密码即可浏览数据库内容。

这段时间来,陆续大约有10多位落伍兄弟通过QQ加咨询相关问题和询问PHP安装使用过程中的解决办法,大部分我都一一解答并给予帮助解决,一般都是通过远程直接给予帮助并都完满解决,个别仅仅通过QQ给予安装不成功的部分描述,由于失败因素很多没能帮忙分析出问题所在而成功解决,这里表示歉意。下面把配置过程中的一些通用解决方法予以总结,再有相关问题的请直接参阅本贴解决,若还不能解决的再加我QQ帮忙解决(PS:由于最近要期末考试再加有些业务比较忙,请尽量自己寻求解决方法,实在不行请联系我QQ后直接给我临时远程权限,我帮忙给予远程操作解决,不再接受QQ描述式探讨解决!至于是否愿意给我临时远程权限请自行斟酌)

废话不多说安装过程中涉及到的主要问题和解决方案如下:
1.IASPI筛选器加载不成功,这个一般是由于 PHP.INI的配置导致的,请在加载PHP的IASPI筛选器前配置好PHP.INI并确保复制到了系统目录(2000系统一般C:\WINNT目录下,XP和2003的一般C:\WINDOWS目录),还有一个原因好象PHP目录是不能放C:\Program Files这种带空格的目录下的,所以最好直接放系统根目录下如C:\PHP

2.PHP配置后导致IIS锁死现象,请重新启动系统后直接卸载IIS后重装IIS,因此建议配置PHP前自己先在本机测试,再到服务器配置,并且配置前注意备份IIS,一般建议XP和2003系统尝试配置 PHP5.x版本,因为2003的是IIS6.0版本,一般存在IIS 6.0中早期版本的 ISAPI 筛选器不能加载,所以有可能PHP4.x的版本ISAPI 筛选器不能加载导致无法完成PHP配置,2000系统一般装PHP5.X版本也很少有问题,当然有人说PHP4.X版本比较稳定,可以自行选择合适版本配置,若装PHP5.X不成功也可以尝试配置4.X版本

3.MYSQL问题,若一次配置MYSQL不成功,请正确并完整卸载MYSQL后重装后多尝试几次进行配置一般就没问题了,强烈申明不要使用直接删除MYSQL文件夹的方法来重装MYSQL,这样的后果很严重,一般是无法再正常成功安装配置MYSQL了,因为系统服务里面会遗留MYSQL服务导致再安装MYSQL后无法启动MYSQL服务

4.PHPMYADMIN连接MYSQL的问题,有的连接登陆时会有下面的错误提示:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
这是由于MySQL 4.1 及其后版本验证协议使用的密码哈希算法与老的客户端不兼容,因此需要在MySQL Command Line Client里面用命令同步兼容密码:
进入MySQL Command Line Client后MYSQL的提示符是:mysql>
然后执行:

CODE:[Copy to clipboard]SET PASSWORD FOR ‘root’@'localhost’ = OLD_PASSWORD(‘你的ROOT管理密码’);
然后再登陆PHPMYADMIN就可以了,登陆后可以在权限里面添加修改设置帐号和访问权限

5.PHP运行失败或错误,如果运行PHP后出现普通的无法找到网页”一般是由于文件不存在错误或者PHP没有配置成功,请返回检查PHP配置!
其他失败表现为
1).运行PHP程序页面空白;
2)您没有权限查看该网页;
3)failed to open stream错误,如:
Warning: main(./libraries/grab_globals.lib.php): failed to open stream: No such file or directory in E:\phpMyAdmin\index.php on line 8

Fatal error: main(): Failed opening required ‘./libraries/grab_globals.lib.php’ (include_path=’.;c:\php4\pear’) in E:\phpMyAdmin\index.php on line 8

这些一般都是权限设置问题导致的,由于PHP对于权限比较敏感,因此经过本人尝试以下权限分配可以获得最佳权限限制和正常访问:
PHP安装文件目录需要添加EVERYONE读取和运行权限,如果你的系统做过安全和权限(相关问题可以参考本人收集整理的内容http://blog.xqin.com/index.asp?boardid=3), 磁盘的根目录只给了ADMIN权限,请将要运行的网站程序目录在IIS里面指向的时候要是在磁盘的二级目录下如D:\web\phpwind,并且父目录和自身目录都给IIS读取和运行权限 ,即WEB和PHPWIND都给IIS_USER权限,没做权限的可以随意指向目录

以上关于PHP 的问题的一些总结也适用于大部分PHP程序运行和PHP配置问题,特别failed to open stream这个错误用我介绍的权限设置方案可以完美解决,我在遇到这个错误后搜索了大量内容,都没给出详细解决办法,并且出现这个问题的人还很多,终于在我的尝试下解决了,如果还不能解决的请给EVEYONE权限试试

以上是一般遇到比较多的普遍问题,当然PHP配置和使用中还有很多问题的,欢迎大家探讨!

标签:, , , , , ,

相关日志

Wordpress下WP Super Cache插件HTTP500错误解决办法

2009年3月30日 赵健 没有评论

可以看出这个错误页面不是 Wordpress 的, 而是空间提供商定制的.
一切正常的,只是因为之前升级了这个插件 wp-super-cache. 才导致这个错误。
Google 一下, 发现好多人讨论这个 500 错误与 wp-super-cache 有关
解决办法:在后台设置里, 把 WP Super Cache Status 改为 HALF ON.
也就是禁用 Super Cache, 只启用基本的 Wp Cache.

标签:,

相关日志