我正在使用:
*connection details*
$fname = stripslashes($_POST['fname']);
$surname = stripslashes($_POST['surname']);
$address = stripslashes($_POST['address']);
$sql = "INSERT INTO mytable (id, fname, surname, address)
VALUES ('', '$fname', '$surname', '$address')";
$results = mysql_query($sql);
if ($results)
{
echo "Details added.";
}
问题是表中是否添加了一个条目,但所有数据都是空白而不是表单中的内容?
形式:
<form id="myform" action="add.php" method="post" name="myform">
<label for="fname">First Name</label>
<input id="fname" name="fname" ><br />
<label for="surname">Surname</label>
<input id="surname" name="surname" ><br />
<label for="address">Address</label>
<input id="address" name="address" >
<input type="submit" name="submitButtonName" value="Add">
答案 0 :(得分:2)
您也应该发布HTML代码。确保表单的方法是POST为:
<form method="POST" action="process.php">
<input type="text" name="fname" />
<input type="text" name="surname" />
<input type="text" name="address" />
</form>
还应正确设置<input />
元素的名称属性。
如果全部完成,您应该能够在$_POST
页面中获取process.php
个变量。因此:
$fname = stripslashes($_POST['fname']);
通过执行简单的echo $fname;
检查您的变量是否具有值。如果已设置,则系统失败的可能原因可能是您的SQL查询。省略 id ,然后执行:
$sql = "INSERT INTO mytable (firstname, surname, address)
VALUES ('" . $fname . "', '" . $surname . "', '" . $address . "')";
$result = mysql_query($sql);
答案 1 :(得分:1)
您应该尝试打印此变量以进行调试。
echo $fname = stripslashes($_POST['fname']);
echo $surname = stripslashes($_POST['surname']);
echo $address = stripslashes($_POST['address']);
你会看到变量的数据。
答案 2 :(得分:0)
在猜测中,我会想象这是一个小的东西,比如没有为你的字段设置“名称”值。如果您没有设置“名称”,那么帖子数据将不包含任何细节。如果这不是问题,请发布您的代码,我可以看看我是否发现了任何问题。
答案 3 :(得分:0)
如果数据库表中的id字段是自动递增的,那么不需要将其放在mysql查询中,试试这个
$sql = "INSERT INTO mytable (fname, surname, address)
VALUES ('$fname', '$surname', '$address')";