因为某个需求,要做一个用户申请,这个要求不写数据库,最好能随时查看下载用户提交的数据.

下面看用户展示页部分:

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
<!-- 申请试用 -->
<a name="RequireTest"></a>
<div id="RequireTest">
<p style="font-size:20px;color:#666;">申请试用</p>
<div style="border:1px solid #ccc;width:100%;height:1px;"></div>
<p style="font-size:18px;margin-bottom:16px;">您可以在这里填写相关信息,进行试用申请,每项都要认真填写,否则视为无效申请</p>
<div>
<script type="text/javascript">
function ChangePhoneNumber()
{//检测输入的是否为手机号
var str=document.getElementById('PhoneNumber').value;
document.getElementById('PhoneNumber').value = str.replace(/\D/gi,'');
}
function CheckInput()
{//检测用户输入
var strUserName=document.getElementById('UserName').value;
var strCompanyName=document.getElementById('CompanyName').value;
var strPhoneNumber=document.getElementById('PhoneNumber').value;
var strCompanyAddress=document.getElementById('CompanyAddress').value;
if(strUserName=='')
{
alert('您输入的姓名信息有误,请重新输入!');
return false;
}
if(strCompanyName=='')
{
alert('您输入的公司名称信息有误,请重新输入!');
return false;
}
if(strPhoneNumber.length!=11)
{
alert('您输入的手机号码为"'+strPhoneNumber+'",长度为"'+strPhoneNumber.length+'"位,请重新输入!');
return false;
}
if(strCompanyAddress=='')
{
alert('您输入的公司地址信息有误,请重新输入!');
return false;
}
}
</script>
<form action="RequireTest.php" method="post" enctype="application/x-www-form-urlencoded" onSubmit="return CheckInput()" >
<table class="RequireTest">
<tr><td>尊姓大名:<input type="text" name="UserName" id="UserName" /></td></tr>
<tr><td>公司名称:<input type="text" name="CompanyName" id="CompanyName" /></td></tr>
<tr><td>联系手机:<input type="text" name="PhoneNumber" id="PhoneNumber" onkeyup="ChangePhoneNumber()" /></td></tr>
<tr><td>公司地址:<input type="text" name="CompanyAddress" id="CompanyAddress" style="width:240px;" /></td></tr>
<tr><td>备注留言:<input type="text" name="GuestText" id="GuestText" style="width:360px;" value="/" /></td></tr>
<tr><td><input type="submit" value="提交申请" id="SubmitButton" /></td></tr>
</table>
</form>
</div>
</div>

这里面用js判断输入的数据,完全符合规则才能提交,不过手机号那还是判断有误,正则比较复杂就算了.
下面看接受的数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
//header('Content-Type:text/html; charset=utf-8');
$strUserName=$_POST['UserName'];
$strCompanyName=$_POST['CompanyName'];
$strPhoneNumber=$_POST['PhoneNumber'];
$strCompanyAddress=$_POST['CompanyAddress'];
$strGuestText=$_POST['GuestText'];
$str="姓名:".$strUserName." 公司名称:".$strCompanyName." 电话号码:".$strPhoneNumber." 公司地址:".$strCompanyAddress." 留言:".$strGuestText."<br/>";
$open=fopen("Clients.html","a+" );
//fwrite($open,$str);
fwrite($open,iconv('utf-8','gbk',$str));
fclose($open);
?>

测试过程中发现fwrite($open,$str)写入的全是乱码,后来谷歌了解到是编码的问题,所以得转换为gb2312,我想知道如何才能直接创建一个utf8的文件.

这个示例可以将post.html的数据传到RequireTest.php,RequireTest.php写入到Clients.html,那么只需要访问Clients.html就能读客户数据了,不过问题是要经常删除这个文件,比较麻烦.