网页中有一个表单,我想点击提交就把信息写入文本中,用php做。最好举一个简单的完整的例子,就是表单
就是点击提交,就调用一个php文件,把表单信息存入一个文本中 展开
html程序如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单写入文件</title>
</head>
<body>
<form action='writeForm.php' method='post'>
您的姓名 <input type='text' name='username' value='' ><br /><br />
您的性别 <input type='radio' name='sex' value='0' >男  <input type='radio' name='sex' value='1' >女<br /><br />
您的年龄 <input type='text' name='age' value='' ><br /><br />
您的职业
<select name='work'>
<option value='IT工程师'>IT工程师</option>
<option value='建筑工程师'>建筑工程师</option>
<option value='人民教师'>人民教师</option>
<option value='其它'>其它</option>
</select><br /><br />
您的爱好 <br /> <textarea rows='3' cols='18' name='favour'></textarea><br />
<button>提交</button>
</form>
</body>
</html>
*****************************
php程序如下(注意,这里的表单没有进行详细的验证,如果需要,请自行添加验证程序)
<?php
header('content-type:text/html;charset=utf-8');
$sex = trim($_POST['sex'])=='0'?'男':'女';
$str = '您的姓名是 '.htmlspecialchars(trim($_POST['username']),ENT_QUOTES)." \n";
$str .= '您的性别是 '.$sex." \n";
$str .= '您的年龄是 '.trim($_POST['age'])." \n";
$str .= '您的职业是 '.htmlspecialchars(trim($_POST['work']),ENT_QUOTES)." \n";
$str .= '您的爱好是 '.htmlspecialchars(trim($_POST['favour']),ENT_QUOTES)." \n";
file_put_contents("userinfo.txt", $str);
********************************
运行的结果如下
html表单
写入文件的内容如下
我试了是成功的,但是点击提交后就转到php的空白页了,能不能点击提交后,记录的数据,又回到了原来表单的页面。还有就是能不能再次填写表单时,数据是接着之前的数据,不会覆盖的
根据你的需求,我的建议是采用ajax来做,这样的话就不需要跳转到后台,直接在ajax请求里面完成数据的写入工作,从而保证页面留在html页面,表单内容也不会刷新。
2016-01-18 · 知道合伙人软件行家
表单页html.php:
<form action="b.php" method="get">
<input name="content" type="text" />
<label>
<input type="submit" name="Submit" value="提交">
</label>
</form>
写入文件 php.php:
<?
$str=$_GET[content];
echo $str."<br>";
$fp=fopen("html.txt","w");
fwrite($fp,$str);//写入
fclose($fp);
readfile("html.txt");//读取
?>
大致的思路是一样的,你把表单的信息提交到后台,后台接到信息之后,就调用往服务器本地写文件的
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="index.php" method="post">
<input type='text' name='test'/><br/>
<input type='submit' name='submit' value='提交'/>
</from>
</body>
</html>
<?php
if(isset($_POST['submit']))
{
file_put_contents('./test.txt',$_POST['test'] . PHP_EOL,FILE_APPEND);
}