php表单,让学生在输入正确的ID号码后检查他/她的分数


php form that let's students check his/her mark after entering a correct ID number

我现在已经做了一整天了,还没有成功。我只是个初学者。我有一个我所教的课程的网页,我想写一个表格,让学生在输入学号后检查他们的分数。我写了下面的表格:

  <strong>Mid- term Grades:</strong>
    <p>
        &nbsp;</p>
        <form action="Mark.php" method="post">
        Enter your 7-digit Student Number: <input name="SNumber" size="7"      type="text" /> <input type="submit" value="View Mark" /> <input type="reset" />&nbsp;</form>

,我把这个表单在我的网页,是在html中编写的。现在,我想检查输入的学生号是否在我的班级中,如果是,则显示标记,如果不是,说明您不在此部分:

<?php
$SNumber = mysql_real_escape_string($_POST['SNumber']);
$sql = "SELECT * FROM table WHERE name = '$SNumber'";
$res = mysql_query($query, $connection);
if (mysql_num_rows($res) <= 0 ) $error = "You are not registered in this section.";
else{mysql_query(echo "$Mark")
?>

我的问题:

  1. 如果我将验证命令放在课程页面的顶部(正如我在互联网上阅读的那样),我的页面将死亡并成为空白页。有什么问题吗?我怎样才能解决这个问题?

  2. 我不知道如何存储我的信息(学号和相应的分数)是:

    SNumber=1234567 Mark= 122 | Snumber=1234577 Mark=3 | SNumber=1034567 Mark= 122
    

    在哪里存储数据如何存储数据如何验证输入如何查找和打印标记

  3. 我应该是好的,如果我在我的课程页面中包含第一个表单的post方法。在我的课程页面的顶部添加验证命令(在我的情况下,它杀死了我的页面)并以我上面提到的格式将信息存储在一个名为Mark.php的php文件中?

你似乎走在正确的方向上。您的HTML看起来很适合您的目的。在你的方法中有两件重要的事情是你没有看到的(或者至少你没有在这里提到)。

1)服务器和客户端代码之间的差异。HTML文件可以在您的开发机器上本地运行,而不需要web服务器。您的HTML文件指定Mark.php作为它将发送到的页面。这个php页面将不得不托管在某种web服务器上,因为它是一个服务器端页面。在您的开发机器上,您可以安装xampp,它包含了最好的web服务器Apache,在一个为windows制作的易于配置的GUI中。您必须确保Apache模块在Xampp GUI中启动,并将文件放在...pathToXampp/htdocs/containingFolder中。现在,当您将内容发布到php页面时,它将能够响应。你必须在浏览器中导航到localhost/containingFolder/nameOfHtmlFile.html

2)你有SQL数据库代码在你的php。这意味着您需要一个数据库。你很幸运!MySQL包含在Xampp中。同样,您必须确保该模块已启动,然后谷歌CREATE DATABASECREATE TABLE查看如何设置数据库的示例。

一旦你启动了你的服务器和数据库应用程序,你基本上会在你的开发机器上运行一个web服务器,这是你的代码沙盒,你可以稍后上传到你的生产服务器。