调用 PHP 的 HTML 表单返回空白


HTML Form calling PHP returns blank

我的html表单是:

<form enctype="multipart/form-data" action="AddEmail.php" method="GET>
<table>
<tr>
<td>Email Address</td>
<td>First Name</td>
<td>Surname</td>
<td><td>
</tr>
<tr>
<td> <input type="text" name="emailAddress" value="example@email.com"> </td>
<td> <input type="text" name="firstName" value="First Name"> </td>
<td> <input type="text" name="surname" value="Surname"> </td>
<td> <input type="submit"> </td>
</tr>
</table>
</form>

它调用的 PHP 是:

$Email = $_GET["email"]
$firstName = $_GET["fName"]
$surName = $_GET["surname"]

$sql = "INSERT INTO emailaddress (EmailAddress, FirstName, LastName)
VALUES ($Email, $firstName, $surName)";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>`

它旨在将输入的信息传递到数据库。当我使用已经使用预先创建的值进行输入时,它可以毫无问题地连接到数据库,但是一旦我尝试让它使用输入的值并调用 php,它就会返回一个空白页。

php 文件前 3 行的行尾缺少分号。

空白页是语法错误的典型特征。每当无缘无故显示空白页时,请将以下行放在 php 文件的顶部,您应该会看到显示的 php 错误。

error_reporting(E_ALL);
ini_set('display_errors', 1);

除此之外:

  • 您还将收到 SQL 错误,因为在构造查询时未将 php 变量括在引号中。您真的应该考虑转义所有用户提交的数据。
  • $_GET["电子邮件"] 应为 $_GET["电子邮件地址"] 在表格中设置的
  • $_GET["fName"] 应为 $_GET["firstName"] 在表单中设置的
  • 请考虑使用 html 属性"占位符",而不是将提示编写为值。

另外,user3590911对报价的评价

你的

<form enctype="multipart/form-data" action="AddEmail.php" method="GET>

应该是:

<form enctype="multipart/form-data" action="AddEmail.php" method="GET">

试试这个,

<form enctype="multipart/form-data" action="AddEmail.php" method="GET>
  <table>
    <tr>
      <td>Email Address</td>
      <td>First Name</td>
      <td>Surname</td>
      <td><td>
    </tr>
    <tr>
      <td> <input type="text" name="email_address" value="example@email.com" >   </td>
      <td> <input type="text" name="firstName" value="First Name"> </td>
      <td> <input type="text" name="surname" value="Surname"> </td>
      <td> <input type="submit"> </td>
    </tr>
   </table>
</form>
    <?php 
          $Email = $_GET["email_address"]
          $firstName = $_GET["firstName"]
          $surName = $_GET["surname"]
          $sql = "INSERT INTO emailaddress (EmailAddress, FirstName, LastName)  VALUES ($Email,$firstName, $surName)";
          $queries = $conn->query($sql);
          if ( $queries ) {
              echo "New record created successfully";
          } 
          else 
          {
              die('Invalid query: ' . mysql_error());
          }
        $conn->close();
    ?>
<form enctype="multipart/form-data" action="AddEmail.php" method="GET>

<form enctype="multipart/form-data" action="AddEmail.php" method="post>