正如标题所述,我正在尝试做一些基本的HTML和PHP程序。我试图从用户/学生那里获取信息,然后将其打印到文本文件中。我输入错误的地方是在我输入html页面上的信息之后,它给出了错误的姓氏,姓氏错误,错误的错误以及不正确的gpa格式的回复消息。因此,从html到php文件正确保存的信息有问题我不知道是什么。文件名是Studentinfo.html和Studentinfo.php。 。我没有使用PHP,所以它可能是一个简单的修复我只是不确定是什么问题。下面是html代码。
<!DOCTYPE html>
<html>
<head><titile>Student information</title></head>
<body>
<table><form action="Studentinfo.php" method="POST">
<tr><td>First name</td><td><input type="text" id="fn"></td></tr>
<tr><td>Last name</td><td><input type="text" id="ln"></td></tr>
<tr><td>Student Id</td><td><input type="text" id="si"></td></tr>
<tr><td>Current GPA</td><td><input type="number" step="0.1" id="gpa"> </td></tr>
<tr><td><input type="submit" value="Submit" ></td><td><input type="reset" value="Cancel"></td></tr>
</form>
</table>
</body>
</html>
以下是php代码:
<?php
$firstname=$lastname=$stdid=$gps="";
$file="Studentinfo.txt";
$file_open=fopen($file,'w+');
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$firstname=$_POST["fn"];
$lastname=$_POST["ln"];
$stdid=$_POST["si"];
$gpa=$_POST["gpa"];
if((!preg_match("/^[a-zA-Z ]*$/",$firstname)) || (empty($firstname))) {
echo '<script language="javascript">alert("First name is wrong"</script>';
}
if((!preg_match("/^[a-zA-Z ]*$/",$lastname)) || (empty($lastname))) {
echo '<script language="javascript">alert("Last name is wrong")</script>';
}
if((!preg_match("/^[a-zA-Z]{3}[0-9]{3}$/",$stdid)) || (empty($stdid))) {
echo '<script language="javascript">alert("Studend id format is wrong")</script>';
}
if((!preg_match("/^[0-9]{1}(?:\.[0-9]{1})?$/",$gpa)) || (empty($gpa))) {
echo '<script language="javascript">alert(" Enter valid GPA")</script>';
}
if ( isset($firstname) && isset($lastname) && isset($stdid) && isset($gpa) )
{
$txt= $lastname.":".$firstname.":".$stdid.":".$gpa;
file_put_contents( $file,$txt."\n",FILE_APPEND);
exit();
}
fwrite($file_open,$txt);
natsort(file($file));
fclose($file_open);
}
?>