Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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表单在postgresql数据库中引入数据&;正在验证表单中的数据_Php_Database_Postgresql_Validation - Fatal编程技术网

从php表单在postgresql数据库中引入数据&;正在验证表单中的数据

从php表单在postgresql数据库中引入数据&;正在验证表单中的数据,php,database,postgresql,validation,Php,Database,Postgresql,Validation,我有一个from来介绍数据,我正在尝试验证数据。但是,无论数据是否被引入,信息都会被引入数据库中 例如,如果我将名称保留为空白,则会得到一个错误消息,该名称不能为空,但空白名称在数据库中引入。 我该怎么做,只有在所有字段都经过验证后,数据才会引入数据库 多谢各位 代码 .错误{color:#FF0000;} PHP表单验证示例 *必填字段 因为这就是你的代码。您可以检查发布的值,打印错误消息,然后运行查询,而不管是否存在错误。你能解释一下哪一步是令人困惑的/意外的吗?我正在尝试更改代码,以便只

我有一个from来介绍数据,我正在尝试验证数据。但是,无论数据是否被引入,信息都会被引入数据库中

例如,如果我将名称保留为空白,则会得到一个错误消息,该名称不能为空,但空白名称在数据库中引入。

我该怎么做,只有在所有字段都经过验证后,数据才会引入数据库

多谢各位

代码


.错误{color:#FF0000;}
PHP表单验证示例
*必填字段


因为这就是你的代码。您可以检查发布的值,打印错误消息,然后运行查询,而不管是否存在错误。你能解释一下哪一步是令人困惑的/意外的吗?我正在尝试更改代码,以便只有在所有验证都通过时才引入数据(因此,如果所有值都已引入),但我不知道如何做到这一点。我的问题是:我需要在我的代码中做什么,所以只有在所有验证都被批准之后,数据才会被引入数据库?种类:如果验证获得批准,则插入数据库,否则不做任何事情。非常感谢($nameErr==''&&$emailErr=''…)
围绕您的数据库代码。这里没有魔法。因为这就是您的代码。您可以检查发布的值,打印错误消息,然后运行查询,而不管是否有错误。您能解释一下哪一步令人困惑/意外吗?我正在尝试更改代码,以便只有在所有验证已通过(因此,如果已引入所有值)但我不知道怎么做。我的问题是:我需要在代码中做什么,所以只有在所有验证都被批准后,数据才会被引入数据库?比如:如果验证被批准,那么插入数据库,否则什么都不做非常感谢您在您的数据库代码周围使用类似于
if($nameErr=''&&$emailErr=''…
的东西。这里没有魔法。
<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>

<?php
// define variables and set to empty values
$nameErr = $emailErr = $surnameErr = "";
$name = $email = $surname = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   if (empty($_POST["name"])) {
 $nameErr = "Name is required";
} else {
 $name = test_input($_POST["name"]);
}

if (empty($_POST["email"])) {
 $emailErr = "Email is required";
} else {
  $email = test_input($_POST["email"]);
}

if (empty($_POST["surname"])) {
  $surname = "";
} else {
 $surname = test_input($_POST["surname"]);
}
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo        htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
Last Name: <input type="text" name="surname">
<span class="error"><?php echo $surnameErr;?></span>
<br><br>
E-mail: <input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>

<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $surname;
echo "<br>";
?>


<?php
   $db = pg_connect('host=localhost dbname=postgres user=myusername password=mypassword');

    $firstname = pg_escape_string($_POST['name']);
    $surname = pg_escape_string($_POST['website']);
    $emailaddress = pg_escape_string($_POST['email']);

    $query = "INSERT INTO friends(firstname, surname, emailaddress)     VALUES('" . $firstname . "', '" . $surname . "', '" . $emailaddress . "')";
    $result = pg_query($db, $query);
    if (!$result) {
        $errormessage = pg_last_error();
        echo "Error with query: " . $errormessage;
        exit();
    }
    printf ("These values were inserted into the database - %s %s %s", $firstname, $surname, $emailaddress);
    pg_close();
    ?>

</body>
</html>