addemail.php

<!DOCTYPE html>
<html lang="cn" dir="ltr">
<head>
<meta charset="UTF-8">
<title>猫王商店 - 添加邮箱</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<img src="blankface.jpg" width="161" height="350" alt="" style="float:right">
<img name="elvislogo" src="elvislogo.gif" width="229" height="32" border="0" alt="Make Me Elvis">
<p>E添加你的名字和邮箱到 <strong>猫王商店</strong> 的邮箱列表。</p>
<?php
if(isset($_POST['submit'])){
$name = $_POST['name'];
$email = $_POST['email'];
$output_form = 'no'; if (empty($name) || empty($email)) {
echo '请完整填写要求的内容.<br />';
$output_form = 'yes';
}
}
else {
$output_form = 'yes';
} if(!empty($name)&&!empty($email)){
$dbc = mysqli_connect('127.0.0.1','root','','elvis_store')
or die('链接MySQL失败。'); $query = "INSERT INTO email_list (name, email)".
"VALUES ('$name', '$email')";
mysqli_query($dbc, $query)
or die('数据添加失败。'); echo '顾客信息添加完成。'; mysqli_close($dbc);
} if ($output_form == 'yes'){
?> <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<label for="NAME">姓名:</label>
<input type="text" name="name" id="name"><br>
<label for="email">邮箱地址:</label>
<input type="text" name="email" id="name"><br>
<input type="submit" name="submit" value="提交">
</form> <?php
}
?>
</body>
</html>

sendemail.php

<!DOCTYPE html>
<html lang="cn" dir="ltr">
<head>
<meta charset="utf-8">
<title>猫王商店 - 发送邮件</title>
<<link rel="stylesheet" href="style.css">
</head>
<body>
<img src="blankface.jpg" alt="黑脸" width="161" height="350" style="float:right">
<img src="elvislogo.gif" alt="猫王商店" name="elvislogo" width="229" height="32" border="0">
<p><strong>私人的:</strong>仅供Elmer使用<br>
向邮箱列表的成员写和发送邮件。</p>
<?php
if (isset($_POST['submit'])) {
$from = 'xxxxxxxx@xxx.com';
$subject = $_POST['subject'];
$text = $_POST['elvismail'];
$output_form = false; if (empty($subject) && empty($text)) {
// We know both $subject AND $text are blank
echo '你忘记输入邮件的标题和内容。<br>';
$output_form = true;
} if (empty($subject) && (!empty($text))) {
echo '你忘记输入邮件标题<br>';
$output_form = true;
} if ((!empty($subject)) && empty($text)) {
echo '你忘记输入邮件正文.<br>';
$output_form = true;
}
}
else {
$output_form = true;
} if ((!empty($subject)) && (!empty($text))) {
$dbc = mysqli_connect('127.0.0.1','root','','elvis_store')
or die('链接MySQL失败。');
$query = "SELECT * FROM email_list";
$result = mysqli_query($dbc, $query)
or die('查询数据库失败。'); while($row = mysqli_fetch_array($result)){
$name = $row['name']; $msg = "亲爱的 $name ,\n $text";
$to = $row['email'];
mail($to, $subject, $msg, 'From:'.$from); echo '邮件发送到了:'.$to.'<br>';
} mysqli_close($dbc);
} if ($output_form) {
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<label for="subject">邮件的标题:</label><br>
<input type="text" name="subject" id="subject" size="30"><br>
<label for="elvismail">邮件的内容:</label><br>
<textarea name="elvismail" id="elvismail" rows="8" cols="40"></textarea><br>
<input type="submit" name="Submit" value="提交">
</form> <?php
}
?> </body>
</html>

removeemail.php

<!DOCTYPE html>
<html lang="cn" dir="ltr">
<head>
<meta charset="utf-8">
<title>猫王商店 - 删除邮箱</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<img src="blankface.jpg" alt="黑脸" width="161" height="350" style="float:right">
<img src="elvislogo.gif" alt="猫王logo" width="229" height="32" name="elvislogo" border="0">
<p>输入你想要移除的邮箱。</p>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<?php
$dbc = mysqli_connect('127.0.0.1','root','','elvis_store')
or die('链接MySQL失败。'); if(isset($_POST['submit'])){
foreach ($_POST['todelete'] as $$delete) {
$query = "DELETE FROM email_list WHERE id = $delete_id0";
mysqli_query($dbc, $query)
or die('查询数据库失败。');
}
echo "顾客邮箱移除完毕。<br>";
} $query = "SELECT * FROM email_list";
$result = mysqli_query($dbc, $query)
or die('查询数据库失败。'); while($row = mysqli_fetch_array($result)){
echo '<input type="checkbox" value="' .$row['id']. '" name="todelete[]">';
echo "$row['name']";
echo "$row['email']";
echo "<br>";
}
mysqli_close($dbc);
?> <input type="submit" name="submit" value="Remove" />
</form>
</body>
</html>

Head First PHP&MySQl第四章代码的更多相关文章

  1. Head First PHP&MySQl第三章代码

    addemail.html <!DOCTYPE html> <html lang="cn"> <head> <meta charset=& ...

  2. 第四章-使用本机文件对话框和帮助进程间沟通 | Electron实战

    本章主要内容: 使用Electron的dialog模块实现一个本机打开文件对话框 促进主进程和渲染器进程之间的通信 将功能从主进程暴露给渲染器进程 使用Electron的remote模块从主进程导入功 ...

  3. 第四章 MySQL高级查询(二)

    第四章 MySQL高级查询(二) 一.EXISTS子查询 在执行create 或drop语句之前,可以使用exists语句判断该数据库对像是否存在,返回值是true或false.除此之外,exists ...

  4. “全栈2019”Java异常第四章:catch代码块作用域详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  5. 第四章:重构代码[学习Android Studio汉化教程]

    第四章 Refactoring Code The solutions you develop in Android Studio will not always follow a straight p ...

  6. 第四章 INI配置——《跟我学Shiro》

    转发地址:https://www.iteye.com/blog/jinnianshilongnian-2020820 第四章 INI配置——<跟我学Shiro> 博客分类: 跟我学Shir ...

  7. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  8. 《Linux内核设计与实现》读书笔记 第四章 进程调度

    第四章进程调度 进程调度程序可看做在可运行太进程之间分配有限的处理器时间资源的内核子系统.调度程序是多任务操作系统的基础.通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发执行的 ...

  9. 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...

随机推荐

  1. 计算几何 点对处理 #345 (Div. 2) C. Watchmen

    题目:给你n(<=2*1e5)个点,求其中有多少个点对之间的连线向量平行坐标轴: #include <iostream> #include <cstdio> #inclu ...

  2. k8s删除节点后再重新添加进去(踩坑)

    开启本地集群,发现一台节点出问题了,想删除再换一台节点,结果就踩坑了,还好本地有好几套环境. 再master节点执行以下命令 [root@k8s-master ~]# kubectl drain k8 ...

  3. MongoDB下载以及安装

    一.下载与安装 1.安装Mongo MongoDB下载地址:https://www.mongodb.com/download-center?jmp=tutorials#community 运行安装程序 ...

  4. G.subsequence 1(dp + 排列组合)

    subsequence 1 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 You are ...

  5. JavaWeb_通过xml配置文件配置servlet访问路径

    Servlet两种访问路径 一.在Servlet类中通过设置@WebServlet标注访问 二.在web.xml中编写配置文件 第一种能比较直观看到Servlet路径,但当项目发布后不好再对Servl ...

  6. openvas 安装

    NMAP apt-get update & apt-get upgrade kali的更新命令 https://www.fujieace.com/kali-linux/update-sourc ...

  7. pandas mean 返回 inf

    In [12]: np.finfo(np.float16).max Out[12]: 65500.0 In [15]: df['a']=np.array([656]*100) In [16]: df[ ...

  8. Java并发编程的艺术笔记(四)——ThreadLocal的使用

    ThreadLocal,即线程变量,是一个以ThreadLocal对象为键.任意对象为值的存储结构.这个结构被附带在线程上,也就是说一个线程可以根据一个ThreadLocal对象查询到绑定在这个线程上 ...

  9. 数据库事务ACID与隔离级别

    如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的 ...

  10. Idea如何生成JPA的相关model,以及运行JPA项目的时候启动错误

    1.如何生成JPAmodel 按照顺序执行下面的步骤 为指定的项目添加JPA的配置,这样之后生成的model就会在指定的项目内 选择JPA之后默认不用操作直接添加 没有Persistence的可以在w ...