想实现逐行读取本地文件后,表单循环的自动提交,html,PHP,或者js
假定文件为test.txt,以下代码为正常的表单提交代码,我想把“名”那一项改为自动循环的,而“姓”那一项不变,我该怎么改?
我懂得不多,请把代码写出来,谢谢
<html>
<head>
<script type="text/javascript">
function formSubmit()
{
document.getElementById("myForm").submit()
}
</script>
</head>
<body>
<p>在下面的文本框中输入一些文本,然后点击提交按钮就可以提交表单。</p>
<form id="myForm" action="/i/eg_smile.gif" method="get">
名:<input type="text" name="firstname" size="20"><br />
姓:<input type="text" name="lastname" size="20"><br />
<br />
<input type="button" onclick="formSubmit()" value="提交">
</form>
</body>
</html> 展开
那么php怎么接收html页面form表单的数据呢,这里就要知道form的method表单的意思了 form一般有两个常用的属性 get和post 一般我们都是用post,那么在php那边就可以用$_POST来接收数据
代码如下:
<form id="myForm" action="/add.php" method="post">
名:<input type="text" name="firstname" size="20"><br />
姓:<input type="text" name="lastname" size="20"><br />
<br />
<input type="button" onclick="formSubmit()" value="提交">
</form>
既然你做了js判断 那么我们还要处理下姓和名为空的时候的提示,提示不能为空,再严格点,需要判断姓是不是正确,姓最多两个汉字,名字最多两个汉字。
好了 HTML和js都完美了 剩下php
你可以先再add.php页面看下是不是能真的接收到数据<?php print_r($_POST); ?>
正确接收后foreach循环插入数据库
亲,我的TXT和循环呢,现在有点乱
TXT文档逐行读取,然后循环,这就是姓都是一样的,名都是TXT里面的内容
既然这样,那就没必要去提交名了。只提交姓氏就行了哇。反正名你是从txt读取的。
<html>
<head>
<script type="text/javascript">
function formSubmit()
{
document.getElementById("myForm").submit()
}
</script>
</head>
<body>
<p>在下面的文本框中输入一些文本,然后点击提交按钮就可以提交表单。</p>
<form id="myForm" action="1.php" method="get">
名:<input type="text" name="firstname" size="20"><br />
姓:<input type="text" name="lastname" size="20"><br />
<br />
<input type="button" onclick="formSubmit()" value="提交">
</form>
</body>
</html>
<?php
$m=$_GET["lastname"];
$file = fopen("firstname.txt", "r") or exit("错误信息");
while(!feof($file)) //判段指针是否在结尾 不在结尾循环
{
$text.=fgets($file).'|'; //按行读取数据 并在结尾加上|为了方便分割文本 生成数组
}
fclose($file); //关闭文件
$text_array=explode('|',$text,-1); //按 |分割文本 生成数组 并去掉最后一个数组
if(is_array($text_array)) //如果是数组
foreach($text_array as $value){
$value=preg_replace('/\s/i',',',$value);
$value = str_replace(',','',$value);
echo ''.$m.''.$value.'<br>';
}
?>
测试:
txt文本的内容是:
有事先出门,有什么问题在联系。