下面是一个使用PHP和XML实现电子邮件订阅功能的示例代码:
subscribe.php
的PHP文件,用于处理订阅请求:<?php
// 获取订阅邮箱
$email = $_POST['email'];
// 检查邮箱是否为空
if(empty($email)){
echo "Email is required";
exit;
}
// 检查邮箱格式是否正确
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
echo "Invalid email format";
exit;
}
// 加载订阅列表XML文件
$xml = simplexml_load_file('subscriptions.xml');
// 检查邮箱是否已经订阅
if(in_array($email, $xml->emails->email)){
echo "Email already subscribed";
exit;
}
// 添加订阅邮箱到XML文件
$newEmail = $xml->emails->addChild('email', $email);
$xml->asXML('subscriptions.xml');
echo "Email subscribed successfully";
?>
unsubscribe.php
的PHP文件,用于处理取消订阅请求:<?php
// 获取取消订阅的邮箱
$email = $_POST['email'];
// 加载订阅列表XML文件
$xml = simplexml_load_file('subscriptions.xml');
// 查找并删除指定的邮箱
$index = array_search($email, $xml->emails->email);
if($index !== false){
unset($xml->emails->email[$index]);
$xml->asXML('subscriptions.xml');
echo "Email unsubscribed successfully";
exit;
}
echo "Email not found";
?>
subscriptions.xml
的XML文件,用于存储订阅列表:<subscriptions>
<emails>
<!-- 将存储的订阅邮箱放在这里 -->
</emails>
</subscriptions>
index.html
的HTML文件,用于展示订阅和取消订阅的表单:<!DOCTYPE html>
<html>
<head>
<title>Email Subscription</title>
</head>
<body>
<h1>Email Subscription</h1>
<form action="subscribe.php" method="POST">
<input type="email" name="email" placeholder="Enter your email" required>
<button type="submit">Subscribe</button>
</form>
<form action="unsubscribe.php" method="POST">
<input type="email" name="email" placeholder="Enter your email" required>
<button type="submit">Unsubscribe</button>
</form>
</body>
</html>
将以上文件保存在同一个目录中,并确保PHP和XML的读写权限正确设置。然后通过访问index.html
文件,即可看到订阅和取消订阅的表单。订阅的邮箱会被保存在subscriptions.xml
文件中。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站