注意:未定义的变量:团队


Notice: Undefined variable: Team

在我们开始之前,让我告诉大家,这只是一项学校作业,我不是php和sql编码方面的专家。

我有问题,每当我执行脚本时,我都会收到以下错误:

注意:未定义的变量:团队C:'xampp'htdocs'NFL'searchmatches.php on line 30.

据我所知,脚本和表单文件之间的链接可能存在拼写错误,但我似乎找不到问题。

这是一个用于搜索数据库的文件:脚本:

 <?php
    mysql_connect("localhost","root","0gd1d0wgpg") or die(mysql_error());
    mysql_select_db("NFL") or die(mysql_error());
    $query=mysql_query("SELECT * FROM Matches where Team ='$Team'") or die(mysql_error());
    $numfields = mysql_num_fields($query);
    print("<table border='"1'">'n<tr>'n");
    for ($i=0; $i<$numfields; $i++) {
      printf("<th>%s</th>'n", mysql_field_name($query,$i));
    }
    print("</tr>'n");
    while ($row = mysql_fetch_row($query)) {
      print("<tr>'n");
      for ($i=0; $i<sizeof($row); $i++) {
         printf("<td>%s</td>'n", $row[$i]);
      }
      print("</tr>'n");
    }
    print("</table>'n");
    ?>

形式:

<form name="addmatch" method="post" action="searchmatches.php">
Search for the match history of a particular team here.<br>
<br>
Team Name: <input type="text" name="Team_Name" value="Team Name">
<br>
<br>
<input type="submit" value="Search">
</form>

是的,实际文件中有更多的编码,但我认为,PHP将是你帮助我所需要的全部

所以,有人能告诉我如何消除这个错误,并使搜索工作。

PHP使用一个特殊的"超级全局"来访问提交的表单值。$_POST superglobal是一个数组,其键与表单元素的name属性匹配(当使用"POST"方法提交表单时)。添加此行:

$Team = mysql_real_escape_string($_POST['Team_Name']);

在查询中使用$Team。

概括一下,"Team_Name"标识符来自您的HTML:

<input type="text" name="Team_Name" value="Team Name">

然后在提交表单时,无论您在该表单控件中输入什么,都可以在$_POST['Team_Name']中使用。我通过"escape"函数传递了该值,以便在该值碰巧包含特殊字符时,保护您的查询不致出错(或更糟)。