Php 表单提交后的空SQL
我找了又找我找不到答案 我做了一个表格,很基本。不知何故,它没有提交最终数据。代码是Php 表单提交后的空SQL,php,html,sql,Php,Html,Sql,我找了又找我找不到答案 我做了一个表格,很基本。不知何故,它没有提交最终数据。代码是 <form class="form" action="submit.php" method="post"> <table> <tr> <td>Team Name: </td> <td><input type="text" name="team"></td> </tr>
<form class="form" action="submit.php" method="post">
<table>
<tr>
<td>Team Name: </td>
<td><input type="text" name="team"></td>
</tr>
<tr>
<td>Captains xbox tag: </td>
<td><input type="text" name="cap"></td>
<tr>
<td>Captains E-mail:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Team Mates: </td>
<td><TEXTAREA name="teammates" rows="6" cols="50">
Please place each team member on a new line
</TEXTAREA><br></td>
</tr>
<tr>
<td>Sub team mates: </td>
<td><TEXTAREA name="subs" rows="2" cols="50"></TEXTAREA></td>
</tr>
</table>
<p><input type="submit"></p>
</form>
那是表格
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO tournament1 (team, teammates, cap, email, subs)
VALUES ('$_POST[team]','$_POST[cap]','$_POST[email]','$_POST[teammates]','$_POST[subs]')";
if ($conn->query($sql) === TRUE) {
echo "Your team has been submitted Thankyou. You will be redirected back to the tournaments page Shortly";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
我做错了什么?它将连接并执行某些操作,因为ID因其自动递增而填充。其他的都丢了。
提前谢谢各位
凯尔所以我给你换了一点,但这应该很好 首先,在表格中,我为您添加了一个isset:
<form class="form" action="submit.php" method="post">
<table>
<tr>
<td>Team Name: </td>
<td><input type="text" name="team"></td>
</tr>
<tr>
<td>Captains xbox tag: </td>
<td><input type="text" name="cap"></td>
<tr>
<td>Captains E-mail:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Team Mates: </td>
<td><TEXTAREA name="teammates" rows="6" cols="50">
Please place each team member on a new line
</TEXTAREA><br></td>
</tr>
<tr>
<td>Sub team mates: </td>
<td><TEXTAREA name="subs" rows="2" cols="50"></TEXTAREA></td>
</tr>
</table>
<p><input type="submit" name="sendit"></p>
</form>
您的脚本可能会出现以下风险:查看使用2个echo中的哪一个时发生的情况在代码中添加错误报告,调试:如果您没有获得此连接失败,则表示您的连接正常,现在检查post值print\u r$\u post而不是echo您的查询并在php my admin中手动运行。您的列和值也不匹配。那么SQL注入呢?我还建议你优化你的代码,移动数组中的验证。如果Op熟悉PDO,我会用这种方式写出来,并为Op在每个代码中添加bindparam。但是mysql_*是不推荐的好调用!我会相应地调整。遗憾的是,Op还没有转移到PDO。我已经添加了,正如你所说的,当它提交时,它会重置页面,sql数据仍然没有被填充。伙计,我是个白痴
if (isset($_POST['sendit']))
{
$team = $_POST['team'];
$captain = $_POST['cap'];
$email = $_POST['email'];
$mates = $_POST['teammates'];
$sub = $_POST['subs'];
if (!empty($team))
{
if (!empty($captain))
{
if (!empty($email))
{
if (!empty($mates))
{
if (!empty($sub))
{
$sql = "INSERT INTO `tournament1` (team, teammates, cap, email, subs) VALUES ('$team', '$mates', '$captain', '$email', '$sub')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
} else {
echo "Please add subs..";
}
} else {
echo "Please add mates..";
}
} else {
echo "Please add captains email..";
}
} else {
echo "Please add captains name..";
}
} else {
echo "Please add team name..";
}
}