php实现增加功能
PHP 实现增加功能的方法
在 PHP 中实现增加功能通常涉及数据库操作、表单处理和逻辑验证。以下是常见的实现步骤和代码示例。
数据库连接
使用 PDO 或 MySQLi 扩展连接数据库。PDO 提供了更好的安全性和跨数据库兼容性。
$host = 'localhost';
$dbname = 'database_name';
$username = 'username';
$password = 'password';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
表单处理
创建 HTML 表单用于用户输入数据,并通过 POST 方法提交到 PHP 处理脚本。

<form action="add.php" method="post">
<input type="text" name="name" placeholder="Name" required>
<input type="email" name="email" placeholder="Email" required>
<button type="submit">Add</button>
</form>
数据验证与插入
在 PHP 脚本中接收表单数据,进行验证后插入数据库。
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = trim($_POST['name']);
$email = trim($_POST['email']);
if (empty($name) || empty($email)) {
echo "Name and email are required.";
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Invalid email format.";
} else {
try {
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$stmt->execute();
echo "Record added successfully.";
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
}
}
防止 SQL 注入
使用预处理语句(prepared statements)绑定参数,避免直接拼接 SQL 语句,防止 SQL 注入攻击。

$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->execute([$name, $email]);
文件上传处理
如果需要上传文件,需处理文件上传表单并验证文件类型和大小。
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" required>
<button type="submit">Upload</button>
</form>
$targetDir = "uploads/";
$targetFile = $targetDir . basename($_FILES["file"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION));
if (file_exists($targetFile)) {
echo "File already exists.";
$uploadOk = 0;
}
if ($_FILES["file"]["size"] > 500000) {
echo "File is too large.";
$uploadOk = 0;
}
if ($imageFileType != "jpg" && $imageFileType != "png") {
echo "Only JPG and PNG files are allowed.";
$uploadOk = 0;
}
if ($uploadOk == 1) {
if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetFile)) {
echo "File uploaded successfully.";
} else {
echo "Error uploading file.";
}
}
错误处理与日志记录
记录错误和操作日志,便于调试和监控。
try {
$stmt->execute();
} catch (PDOException $e) {
error_log("Database error: " . $e->getMessage(), 3, "error.log");
echo "An error occurred. Please try again later.";
}
通过以上方法,可以在 PHP 中实现安全可靠的增加功能。根据具体需求,可以扩展更多功能,如数据加密、异步处理等。






