複雑なライブを試みる前に、いくつかの PHP コーディングを練習しています。私の目標は、HTML/JavaScript フォームに入力された単語を検証することです。PHP を使用してテキスト ファイルを開いて解析し、フォームに入力された単語がこのテキスト ファイルの単語と一致するかどうかを確認したいと考えています。これまでのところ、単語がリストにないことを示す唯一のリターンがあるため、コードが2つの文字列を比較しているとは確信していません。私の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の構文エラーをチェックしましたが、すべて問題ないようです。私が望むように機能していないだけです。何か案は?