Head First PHP&MySQl第四章代码
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第四章代码的更多相关文章
- Head First PHP&MySQl第三章代码
addemail.html <!DOCTYPE html> <html lang="cn"> <head> <meta charset=& ...
- 第四章-使用本机文件对话框和帮助进程间沟通 | Electron实战
本章主要内容: 使用Electron的dialog模块实现一个本机打开文件对话框 促进主进程和渲染器进程之间的通信 将功能从主进程暴露给渲染器进程 使用Electron的remote模块从主进程导入功 ...
- 第四章 MySQL高级查询(二)
第四章 MySQL高级查询(二) 一.EXISTS子查询 在执行create 或drop语句之前,可以使用exists语句判断该数据库对像是否存在,返回值是true或false.除此之外,exists ...
- “全栈2019”Java异常第四章:catch代码块作用域详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- 第四章:重构代码[学习Android Studio汉化教程]
第四章 Refactoring Code The solutions you develop in Android Studio will not always follow a straight p ...
- 第四章 INI配置——《跟我学Shiro》
转发地址:https://www.iteye.com/blog/jinnianshilongnian-2020820 第四章 INI配置——<跟我学Shiro> 博客分类: 跟我学Shir ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- 《Linux内核设计与实现》读书笔记 第四章 进程调度
第四章进程调度 进程调度程序可看做在可运行太进程之间分配有限的处理器时间资源的内核子系统.调度程序是多任务操作系统的基础.通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发执行的 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章 ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...
随机推荐
- the nearest point/vertex point of linestring
引用https://github.com/Toblerity/Shapely/issues/190 snorfalorpagus commented on 18 Oct 2014 The point ...
- Excel导入导出工具(简单、好用且轻量级的海量Excel文件导入导出解决方案.)
Excel导入导出工具(简单.好用且轻量级的海量Excel文件导入导出解决方案.) 置顶 2019-09-07 16:47:10 $9420 阅读数 261更多 分类专栏: java 版权声明:本 ...
- C++入门经典-例6.6-字符串复制
1:字符串复制函数strcpy的格式如下: strcpy(字符数组名,字符串) 其作用是把字符串中的字符串复制到字符数组中.需要注意的是,字符串结束标志'\0'也一同被复制. 注意是将后面的内容复制给 ...
- 关于Hibernate中Java实体类加载出现序列化异常
晚上跟着教程敲网上商城项目的时候(ssh框架写的),碰到了一个问题,就是如题所示的序列化异常问题,这个问题纠结了很久,最后发现了一个解决方法,虽然这篇文章可能几乎不会被人访问到,但是还是要写出来! 其 ...
- 套接字选项 之 SO_REUSEADDR && SO_REUSEPORT
说明 本文下面内容基本上是截取自stackoverflow,针对这两个选项,在另外一篇文章中做了总结,请移步<Linux TCP套接字选项 之 SO_REUSEADDR && S ...
- 黑马lavarel教程---3、数据库和视图注意点
黑马lavarel教程---3.数据库和视图注意点 一.总结 一句话总结: 使用其实都很简单,MVC的框架都很像,用的时候直接可以去看手册,这样才能记得住 1.数据库删除操作注意? 删非删:很多网站的 ...
- Uep的保存操作
wzStoreInfoDefineService.update(neWzStoreInfo,updateList,insertList,deleteListpublic void update(WzS ...
- 通过Precision/Recall判断分类结果偏差极大时算法的性能
当我们对某些问题进行分类时,真实结果的分布会有明显偏差. 例如对是否患癌症进行分类,testing set 中可能只有0.5%的人患了癌症. 此时如果直接数误分类数的话,那么一个每次都预测人没有癌症的 ...
- OpenStack RPM Sample 解析
目录 文章目录 目录 前言 RPM 打包环境安装 RPM 打包流程 OpenStack RPM SPEC Sample RPM 升级/回退 前言 软件功能升级,尤其是 Python 这类解析型语言的软 ...
- Java Map集合 遍历 五种方式(包含 Lambda 表达式遍历)
示例代码如下: package com.miracle.luna.lambda; import java.util.HashMap; import java.util.Iterator; import ...