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