我正在创建一个用户可以提交反馈的网页。这些反馈将存储在服务器上的mysql数据库中。我使用PHP,我在db中有一个开放的用户帐户,只允许插入指定的表吗?我很困惑,因为密码是以提交形式公开的,还是我误解了什么?
$db_password = 'password';
任何人都可以访问这个吗?我应该以某种方式加密它吗?
答案 0 :(得分:0)
以下是一个例子:
<强> HTML 强>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Add Record Form</title>
</head>
<body>
<form action="insert.php" method="post">
<p>
<label for="firstName">First Name:</label>
<input type="text" name="firstname" id="firstName">
</p>
<p>
<label for="lastName">Last Name:</label>
<input type="text" name="lastname" id="lastName">
</p>
<p>
<label for="emailAddress">Email Address:</label>
<input type="text" name="email" id="emailAddress">
</p>
<input type="submit" value="Submit">
</form>
</body>
</html>
<强> PHP 强>
<?php
/* Attempt MySQL server connection.
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "root", "", "demo");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Escape user inputs for security
$first_name = mysqli_real_escape_string($link, $_POST['firstname']);
$last_name = mysqli_real_escape_string($link, $_POST['lastname']);
$email_address = mysqli_real_escape_string($link, $_POST['email']);
// attempt insert query execution
$sql = "INSERT INTO persons (first_name, last_name, email_address) VALUES ('$first_name', '$last_name', '$email_address')";
if(mysqli_query($link, $sql)){
echo "Records added successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// close connection
mysqli_close($link);
?>
好的,这样就会在表单上插入发布的数据,表所需的内容和数据库权限只是创建一个新用户(您的自定义用户),然后为此用户分配读写权限,假设您是在某个时候去读取数据。然后如上面的php示例所示,将 mysql用户替换为&#39; root&#39; 如果您指定了密码,只需将其添加到空字符串中的root旁边。要回答任何人都可以访问的密码,答案是否定的。 PHP是服务器端脚本语言,除了您故意将db密码发送到客户端之外,所有内容都在服务器上呈现和验证,并且只将标记发送到客户端。