Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP文件自动将空白输入保存在我的数据库中_Php - Fatal编程技术网

PHP文件自动将空白输入保存在我的数据库中

PHP文件自动将空白输入保存在我的数据库中,php,Php,你好,每次我刷新我的php文件时,成功的警报总是出现,甚至在按下提交按钮之前,因此在我的数据库中显示空数据 我需要帮助,因为没有显示警告或错误。 事先谢谢你的帮助 PHP: session_start( ); require 'Connect.php'; if(empty($_POST['FirstName'])) $FirstName = ''; else $FirstName = ($_POST['FirstName']); if(empty($_POST['L

你好,每次我刷新我的php文件时,成功的警报总是出现,甚至在按下提交按钮之前,因此在我的数据库中显示空数据

我需要帮助,因为没有显示警告或错误。 事先谢谢你的帮助

PHP:
session_start(

);

    require 'Connect.php';

if(empty($_POST['FirstName']))
    $FirstName = '';
else
    $FirstName = ($_POST['FirstName']);
if(empty($_POST['LastName']))
    $LastName = '';
else
    $LastName = ($_POST['LastName']);
if(empty($_POST['Gender']))
    $Gender = '';
else
    $Gender = ($_POST['Gender']);
if(empty($_POST['UserName']))
    $UserName = '';
else
    $UserName = ($_POST['UserName']);
if(empty($_POST['Password']))
    $Password = '';
else
    $Password = ($_POST['Password']);
if(empty($_POST['reEnterPassword']))
    $reEnterPassword = '';
else
    $reEnterPassword = ($_POST['reEnterPassword']);
if(empty($_POST['EmailAdd']))
    $EmailAdd = '';
else
    $EmailAdd = ($_POST['EmailAdd']);
if(empty($_POST['reEnterEmailAdd']))
    $reEnterEmailAdd = '';
else
    $reEnterEmailAdd = ($_POST['reEnterEmailAdd']);

    $sql = " INSERT INTO User(FirstName, LastName, UserName, Password, reEnterPassword, EmailAdd, reEnterEmailAdd)
             VALUES ('$FirstName', '$LastName', '$UserName', '$Password', '$reEnterPassword', '$EmailAdd', '$reEnterEmailAdd'); ";

    $result = mysql_query($sql);
        if (!$result){
          die('Invalid Input: ' . mysql_error().$sql);
        }  
        else{
          echo "<script> alert('Successfully Added'); </script> ";
        }

?>
session\u启动(
);
需要“Connect.php”;
if(空($_POST['FirstName']))
$FirstName='';
其他的
$FirstName=($_POST['FirstName']);
if(空($\u POST['LastName']))
$LastName='';
其他的
$LastName=($_POST['LastName']);
如果(空($_POST['Gender']))
$性别='';
其他的
$性别=($_POST['Gender']);
if(空($_POST['UserName']))
$UserName='';
其他的
$UserName=($_POST['UserName']);
if(空($_POST['Password']))
$Password='';
其他的
$Password=($_POST['Password']);
if(空($\u POST['reEnterPassword']))
$reEnterPassword='';
其他的
$reEnterPassword=($_POST['reEnterPassword']);
如果(空($_POST['EmailAdd']))
$EmailAdd='';
其他的
$EmailAdd=($_POST['EmailAdd']);
if(空($\u POST['reeteremailadd']))
$reEnterEmailAdd='';
其他的
$reEnterEmailAdd=($_POST['reEnterEmailAdd']);
$sql=“插入到用户中(FirstName、LastName、用户名、密码、重新输入密码、EmailAdd、重新输入EmailAdd)
值(“$FirstName”、“$LastName”、“$UserName”、“$Password”、“$reEnterPassword”、“$EmailAdd”、“$reEnterEmailAdd”);”;
$result=mysql\u查询($sql);
如果(!$result){
die('Invalid Input:'.mysql_error().$sql);
}  
否则{
回显“警报('已成功添加');”;
}
?>

这是因为您正在数据库中插入空变量

$FirstName = (isset($_POST['FirstName'])&&$_POST['FirstName']!='')?$_POST['FirstName']:die("required");
对每个变量执行此操作。然后执行查询。它不会添加空数据

正如@Machavity所说,为了防止
SQL注入
。看看这个:


绑定变量,而不是直接将其插入查询。

您需要在整个可执行代码中使用一个有条件的
isset()
。您的HTML表单很可能位于同一个文件中,但您没有显示。您还容易受到旁注的攻击:您可以通过使用
foreach
和数组大大减少代码。这个技巧很有效。现在的问题是,每次我按下submit按钮时,成功警报都不会显示,而是显示“Object not Found”,并且仍然没有将数据放入我的数据库。有什么解决办法吗?我仍然没有看到任何警告或错误显示。我很抱歉问了很多问题。我是PHP新手。