2

我见过类似的问题,但没有一个答案对我有用。我的是一个简单的表格,其中包含一些数据到数据库中,它显示在网站其他地方的表格中。

但是,无论输入什么,该表单都只会在数据库中添加一个空白行。没有错误或任何东西,只是一个空白行。

我有另一个表格,它提交到另一个表格,效果很好,所以我真的很困惑。

这是表格:

<form method="GET" action="addsuggestion.php">

<label>Game Title:</label>
<input type="text" name="gamename" id="gamename" />

<br />

<label>Game Platform:</label>
<input type="text" name="gameplatform" id="gameplatform" />
<br />

<label>Suggestor Nickname:</label>
<input type="text" name="suggestor" id="suggestor" />

<input type="submit" value="sumbit" />
</form>

和adduggestion.php

<?php
echo'<h1>Suggestion Process</h1>';

$connection = mysql_connect("removed", "removed", "removed") or die("Couldn't Connect!");
mysql_select_db("removed") or die("Couldn't find database!") ;

$gamename = $GET['gamename'];
$gameplatform = $GET['gameplatform'];
$suggestor = $GET['suggestor'];

$query = "INSERT INTO sug (gamename,gameplatform, suggestor) VALUES ('$gamename','$gameplatform','$suggestor')";

$result = mysql_query($query) or die ("Error in query");
echo'Submisson accepted, click <a href="recent.php">here</a> to check it out!';
?> 

我收到提交接受消息,并且在数据库中添加了一行,但它始终为空白。最近的 php 将数据库显示为一个表,其中包含一个新的空白行。

有一个 id 我用作主键,但它是自动递增的,所以我没有包含它。那是唯一每次都包含某些内容的字段。

4

2 回答 2

4

$_GET不是$GET

$gamename = mysql_real_escape_string($_GET['gamename']);
$gameplatform = mysql_real_escape_string($_GET['gameplatform']);
$suggestor = mysql_real_escape_string($_GET['suggestor']);
于 2012-10-13T18:17:02.473 回答
1

您的表单方法是“GET”。这应该是“POST”。

同样使用变量,将 get 更改为 $_POST['gamename'] 等。

它也区分大小写。确保表格没有用大写字母书写。

祝你好运!

编辑以获取更多信息:

我们可能会说“GET”基本上只是用于获取(检索)数据,而“POST”可能涉及任何事情,例如存储或更新数据,或订购产品,或发送电子邮件。

资料来源:http ://www.cs.tut.fi/~jkorpela/forms/methods.html#fund

于 2012-10-13T18:18:11.430 回答