2014-12-13 51 views
1

我的HTML形式是:HTML窗体调用PHP返回空

<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="[email protected]"> </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,它就会返回空白页。

回答

1

你缺少在该行的末尾分号的第3行的PHP文件。

空白页是典型的语法错误。无论何时显示空白页面没有很好的理由,请将以下行放在php文件的顶部,您应该看到显示的php错误。

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

除此之外:

  • 您还将收到一个SQL错误,因为你没有在引号引起的PHP变量,当您构造查询。您应该考虑转义所有用户提交的数据。
  • $ _GET [ “电子邮件”]应该是$ _GET [ “EMAILADDRESS”]作为形式设置
  • $ _GET [ “FNAME”]应该是$ _GET [ “名字”]作为设置形式
  • 考虑使用html属性“占位符”而不是将提示写入值。

而且,说什么user3590911有关报价

+0

user3590911只是说添加结束'“'这在技术上是正确的。 – Bijan 2014-12-13 02:23:51

+0

我不知道为什么,但我认为他改变了GET POST :)我的坏 – changepicture 2014-12-13 09:54:55

0

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

应该是:

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

试试这个,

<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="[email protected]" > </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(); 

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

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

PHP代码显然使用$ _GET变量,所以将其更改为帖子是不会帮助。你也没有添加缺少的方法属性值('method =“post”>')的近引号 – 2017-10-14 20:39:23