php - 如何阻止 PHP 向 MYSQL 数据库添加空白行/字段

标签 php mysql

所以我有一个看起来像这样的表格。

<form action="thanks.php" method="post" class="niceform" name="myform">
<table>
<tr>
<td><label for="company_name">Company Name</label></td>
<td><input type="text" name="company" value="" size="38" /></td>
</tr>
// and so on

我通过 javascript 进行了验证。但问题是,当我从 localhost/mysite/form/thanks.php 直接转到 thanks.php 时,我在查看 phpmyadmin 时插入了一个空行。 thanks.php 看起来像这样。

<?php
// open the connection
$conn = mysql_connect("localhost", "root", "password");
// pick the database to use
mysql_select_db("company_register",$conn);

$sql = "INSERT INTO `tblsignups` VALUES ('NULL', '$_POST[company]', '$_POST[email]', '$_POST[phone]', '$_POST[address]', '$_POST[comments]', '$_POST[contact_person]')";

$result = mysql_query($sql, $conn) or die(mysql_error());

mysql_close($conn);
?>
// And I have a thank you msg I display

我如何检查是否有人应该直接去 thanks.php 我告诉他们先去填写表格并且不要在数据库中放任何东西

最佳答案

您需要检查表单是否已提交。你可能想要这样的东西:

<?php

if ($_POST)
{
    // open the connection
    $conn = mysql_connect("localhost", "root", "password");
    // pick the database to use
    mysql_select_db("company_register",$conn);

    $sql = "INSERT INTO `tblsignups` VALUES ('NULL', '$_POST[company]', '$_POST[email]', '$_POST[phone]', '$_POST[address]', '$_POST[comments]', '$_POST[contact_person]')";

    $result = mysql_query($sql, $conn) or die(mysql_error());

    mysql_close($conn);
}

?>

关于php - 如何阻止 PHP 向 MYSQL 数据库添加空白行/字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7482566/

相关文章:

php强制类型

php - 没有收到某些 PHP 错误消息

php - 检查 URL 是否存在恶意软件或网络钓鱼的服务?

java - 如何将文件路径发送到 mysql 表

php - 如何为单个客户ID添加多张卡并直接使用 strip 转账?

php - 无法在 Laravel 8 : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known 中运行迁移

使用 XML 提取值的 MYSQL 触发器

Mysql统计一个表中的不同用户

mysql - 按唯一 ID 和每分钟边界记录

mysql - SQL错误:Can't DROP Index_name; check that column/key exists -- occurs multiple times