使用PHP验证文本文件中的单词
Using PHP to validate a word in a text file
在尝试任何复杂的实时操作之前,我正在练习一些PHP编码。我的目标是验证在HTML/JavaScript表单上输入的单词。我想使用PHP打开并解析一个文本文件,看看在表单上键入的单词是否与该文本文件上的单词匹配。到目前为止,我得到的唯一返回表明单词不在列表中,所以我不确定代码是否在比较这两个字符串。我的HTML/JS代码是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Using this html document</title>
<script language="JavaScript">
function trim(s) {
while (s.charAt(0) == ' ')
s = s.substring(1);
while (s.charAt(s.length - 1)== ' ')
s = s.substring(0, s.length - 2);
return s;
}
function check(lname)
{
var x = document.getElementById(lname);
var s = new String(x.value);
s = trim(s);
if(s == "")
{
alert("Please enter a word");
javascript:history.go(0);
}
else
x.value = s;
}
</script>
</head>
<body>
<form action="http://localhost/Exercise13.php" method="post">
<label for="fname">Name: </label>
<input type="text" name="lname" id="lname" size="20"><br><br>
<input type="submit" name="submit" id="submit" value=" Submit "onclick = "check ('lname');">
</form>
</body>
</html>
我的PHP代码是这样的:
<?php
$fh = fopen("a.txt","r")or die("Can't open file");
$s = $_POST["lname"];
while(!feof($fh))
{
$line = fgets($fh);
$a = trim($line);
}
if (strcmp($s,$a) == 0)
print ("<h1>" . $s . " is in the list</h1><br>");
fclose($fh);
print ("<h1>" . $s . " is not in the list</h1><br>");
?>
我的.txt文件只是一个随机单词的列表,列表中有一些字符我正试图通过修剪删除。我已经使用PHP检查器检查了我的PHP是否有任何语法错误,一切看起来都很好。它只是没有像我希望的那样工作。有什么想法吗?
您的逻辑被破坏了,因为您只检查文件中最后一个字符串的结果。您希望将检查移动到实际的循环中,这样您就可以比较每一行的值,而不仅仅是循环结束后$a的值。
$found = false;
while (!feof($fh))
{
$line = trim(fgets($fh));
if ($line == $s)
{
$found = true;
break;
}
}
然后检查循环在文件中搜索后找到的$的值。一旦找到匹配项,这也将结束循环。
我还想指出,这是(非常)低效的,但作为一种学习练习,这一切都很好。
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用PHP验证文本文件中的单词
- PHP 使用 file_get_contents 从.txt文件中获取最后五个单词
- 从XML文件中排除一组单词,并将它们存储在Javascript中的数组中
- 使用Gulp和Gulp替换名称克隆一个项目,但重命名多个文件夹中包含某个单词的文件
- Regex测试url和文件路径的重复单词
- 在表单验证时,如果字段中没有单词,则返回错误,但仍然提交cgi文件
- 使用正则表达式查找文件中行开头的单词