零基础学习PHP笔记【三】数据库操作--邮件列表
来源:互联网 发布:同花顺中天软件下载 编辑:程序博客网 时间:2024/06/05 23:42
今天学习进一步的通过网页作为交互界面,来对数据库进行管理
涉及到PHP对数据库的添加,删除,修改。
首先,把连接数据库和查询数据库的方法封装起来。
<?php//function to connect to databasefunction doDB(){ global $mysqli; //connect to server and select database $mysqli = mysqli_connect("localhost", "root", "", "info"); if(mysqli_connect_errno()){ printf("Connect failed: &s\n",mysqli_connect_error()); exit(); }}//function to check email addressfunction emailChecker($email){ global $mysqli,$safe_email,$check_res; //check that email is not already in list $safe_email = mysqli_real_escape_string($mysqli, $email); $check_sql = "SELECT id FROM SUBSCRIBERS WHERE email = '".$safe_email."' "; $check_res = mysqli_query($mysqli, $check_sql) or die(mysqli_errno($mysqli));}?>
接着,我们再写一段代码,把以上代码给include进去。
<?php include 'ch19_include.php'; if(!$_POST){ $display_block = <<<END_OF_BLOCK <form method="post" action="$_SERVER[PHP_SELF]"> <p> <label for="email">Your Email Address:</label> <br/> <input type="email" id="email" name="email" size ="40" maxlength="150" /> </p> <fiedkset> <legend>Action:</legend> <br/> <input type="radio" id="action_sub" name="action" value="sub" checked="checked"/> <label for="action_sub">subscribe</label> <input type="radio" id="action_unsub" name="action" value="unsub" /> <label for="action_sub">unsubscribe</label> <br /> </fiedlset> <button type="submit" name="submit" value="submit">Submit</button></form>END_OF_BLOCK; }else if(($_POST)&&($_POST['action']=="sub")){ //trying to subscribe; validate email address if($_POST['email']==""){ //如果email为空,则点击submit重新加载当前jiem header("Location:manager.php"); exit; }else { //connect to database doDB(); //check that email is in list emailChecker($_POST['email']); if(mysqli_num_rows($check_res)<1){ //free result mysqli_free_result($check_res); //add record $add_sql = "INSERT INTO subscribers(email) VALUES('".$safe_email."')"; $add_res = mysqli_query($mysqli, $add_sql) or die(mysqli_error($mysqli)); $display_block = "<p>Thanks for signing up</p>"; //close connection to MYSQL mysqli_close($mysqli); }else{ //print failure message $display_block = "<p>You are already subscribed!</p>"; } } }else if(($_POST)&&($_POST['action']== "unsub")){ if($_POST['email']==""){ header("Location:manager.php"); exit; }else { //connect to database doDB(); //check that email is in list emailChecker($_POST['email']); if(mysqli_num_rows($check_res)<1){ mysqli_free_result($check_res); $display_block = "<p>Could not find your address!No action was taken</p>"; }else{ while($row = mysqli_fetch_array($check_res)){ $id = $row['id']; } $del_sql = "DELETE FROM subscribers WHERE id = ".$id; $del_res = mysqli_query($mysqli, $del_sql) or die(mysqli_errno($mysqli)); $display_block = "<p>You are unsubscribed!</p>"; } mysqli_close($mysqli); } }?><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Subscribe/Unsubscribe to Mailing List</title></head><body> <h1>Subscribe/Unsubscribe to a Mailing List</h1> <?php echo "$display_block"?></body></html>
原理非常简单,逻辑清晰,HTML界面有两个选择按钮,根据选择按钮对邮件进行注册和反注册(就是进行数据库的添加和删除操作),以判断查询的结果的行数是否大于1来确定是否有结果。再对结果进行删除或者添加。
0 0
- 零基础学习PHP笔记【三】数据库操作--邮件列表
- 【零基础学习PHP 三】 数组
- 零基础学习PHP,学习笔记。
- 零基础PHP学习笔记(二)
- 零基础学习PHP(三):开始学习
- 零基础小白JAVA学习笔记(三)
- 《零基础学Python》Adventures IN Python学习笔记三
- PHP基础学习之数据库操作
- php学习笔记(四)之发送邮件02 详细操作
- STM32F103RBT6 零基础学习笔记
- Python 零基础学习笔记
- 零基础 Java 学习笔记
- Python 学习笔记三 操作PostgreSQL数据库
- 鱼C工作室《零基础入门学习Python》 学习过程笔记【011列表类的方法】
- php学习笔记(2)- 数据库操作
- [php学习笔记]PDO类操作数据库
- 【零基础学习php一】初识 php
- 【零基础学习php二】 php 数据类型
- sql语句中GROUP BY 和 HAVING的使用
- 单向透视玻璃
- 经典问题之多重背包的总结与提升
- U3D之aabb.IsValid()、IsFinite(outDistanceForSort)、IsFinite(outDistanceAlongView),u3disfinite
- JS利用windows.open()打开子窗口
- 零基础学习PHP笔记【三】数据库操作--邮件列表
- sql语句中having的使用例子
- 数据篇之JDBC连接MySQL
- OkHttp
- 数字转字符串前面自动补0 / 字符串(数字串)除去前面的0
- maven update web工程报错
- leetcode365. Water and Jug Problem
- android native 和 H5 的交互
- Android6.0权限管理和申请