#2 create and populate a database && realistic and practical applications
The Chapter3 & Chapter4 of this book tells you how to create a realistic app on the web through the lab.
That is really amazing when you finished yourself. I will show you how to make it as follows.
FIRST OF ALL, we need a plan of how to make an application, generally speaking, you can following the steps like this(as we did it in the lab1):
1. Create a database and table for the app (the email list)
2. Create and edit a web form for the customer
3. Create and edit a PHP script to handle the web form
To Finish the application, we should start with the table, actually, it all starts with a database.
step 1 :
what you have to do is to use these command line with MySQL :
CREATE DATABASE elvis_store
Then you need to create a table inside the database, just like we did in the lab1, but beofore you create tables, Please
make sure you have selected the database or you will get an ERROR. This command may help you with it :
USE elvis_store
Next you can create table(s) inside this database, table structure is based on your application, In this app you can design the table like this:
CREATE TABLE email_list
(
first_name VARCHAR (20) ,
last_name VARCHAR (20) ,
email VARCHAR (60)
);
It is quite simple, yeah ? Next we will move to step2:
step2 :
make a directory to store this application, you can name it lab2 or anything you want, and add some html files && css files to it :
/*** addemail.html ***/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Make Me Elvis - Add Email</title>
<link rel="stylesheet" type="text/css" 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>Enter your first name, last name, and email to be added to the <strong>Make Me Elvis</strong> mailing list.</p>
<form method="post" action="addemail.php">
<label for="firstname">First name:</label>
<input type="text" id="firstname" name="firstname" /><br />
<label for="lastname">Last name:</label>
<input type="text" id="lastname" name="lastname" /><br />
<label for="email">Email:</label>
<input type="text" id="email" name="email" /><br />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>
/*** style.css ***/
body, td, th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
If you run it on your apache Server , you will get a page like this :
Its just a simple form and serveral css. Very Simple. Now we have finished step2.
The only thing we need to notice is that this form's action = 'addemail.php' which means it will send this form to the file on the Server.
lets move to the step3. you may probably know how to do it, yes create an edit addemail.php file on the Server.
Step3:
you create the addemail.php file in the same folder and edit it like this :
/*** addemail.php ***/
<?php
/**
* Created by IntelliJ IDEA.
* User: beyond_acm
* Date: 8/20/2015
* Time: 3:00 PM
*/
$dbc = mysqli_connect("localhost","root","root",elvis_store)
or die("Error connection to MySQL Server");
echo 'Connected successful </br>'; $first_name = $_POST['firstname'];
$last_name = $_POST['lastname'];
$email = $_POST['email']; $query = "INSERT INTO email_list(first_name, last_name, email)".
"VALUES('$first_name', '$last_name', '$email')"; mysqli_query($dbc,$query)
or die("Error querying database"); echo 'Quering successful </br>';
echo 'Custom added !'; mysqli_close($dbc);
?>
If you finish it correctly , after you submit the form you will see "Connected successful Quering successful Custom added !" on the screen.
You can alse check the database in MySQL to confirm it. Use "SELECT * FROM emal_list".
what we will do next is to repeat the step2 and step3. We will need another form to send the email to the cosumer who have registered .
we will still use the email_list database, so we dont need to design another database. First we need a Form to collect data about the email.
create sendemal.html in the same folder(like lab2) :
/*** sendemail.html ***/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Make Me Elvis - Send Email</title>
<link rel="stylesheet" type="text/css" 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><strong>Private:</strong> For Elmer's use ONLY<br />
Write and send an email to mailing list members.</p>
<form method="post" action="sendemail.php">
<label for="subject">Subject of email:</label><br />
<input id="subject" name="subject" type="text" size="30" /><br />
<label for="elvismail">Body of email:</label><br />
<textarea id="elvismail" name="elvismail" rows="8" cols="40"></textarea><br />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>
if you visit this page you will see sth like this :
Thats a simple form which you can input the email title and the email body, then you click submit it will send to the sendemail.php on the Web Server which we will edit next.
It can send this package email to all the register user in the email_list table. create and edit the sendemail.php as follows:
/*** sendemail.php ***/
<?php
/**
* Created by IntelliJ IDEA.
* User: beyond_acm
* Date: 8/20/2015
* Time: 6:23 PM
*/
$from = 'beyond_acm@163.com'; $subject = $_POST['subject'];
$text = $_POST['elvismail']; $dbc = mysqli_connect("localhost","root","root","elvis_store")
or die("Error connectiong to MySQL");
echo "Connecting success! </br>"; $query = "SELECT * FROM email_list";
$result = mysqli_query($dbc, $query)
or die("Error querying database!");
echo "Quering success! </br>"; while( $row = mysqli_fetch_array($result) ) {
$first_name = $row['first_name'];
$last_name = $row['last_name'];
$to = $row['email']; $msg = "Dear $first_name $last_name, \n $text"; mail($to, $subject, $msg, 'From: '.$from ); echo 'Emai sent to :'.$to. "<br/>";
}
mysqli_close($dbc);
?>
#2 create and populate a database && realistic and practical applications的更多相关文章
- #2 create and populate a database && realistic and practical applications (PART 2)
Extends from the last chapter , This chapter takes a look at some real-world problems that can occur ...
- Create a SQL Server Database on a network shared drive
(原文地址:http://blogs.msdn.com/b/varund/archive/2010/09/02/create-a-sql-server-database-on-a-network-sh ...
- [转]How to: Create a Report Server Database (Reporting Services Configuration)
本文转自:https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms157300%28v%3dsql.10 ...
- Create an Azure SQL database in the Azure portal
Create a SQL database An Azure SQL database is created with a defined set of compute and storage res ...
- [Windows Azure] How to Create and Configure SQL Database
How to Create and Configure SQL Database In this topic, you'll step through logical server creation ...
- HiveSQLException: Error while compiling statement: No privilege 'Create' found for outputs { database:default }
今天用Hive的JDBC实例时出现了HiveSQLException: Error while compiling statement: No privilege 'Create' found for ...
- [odb-users] Create schema error (unknown database schema '')
Boris Kolpackov boris at codesynthesis.comFri May 31 11:13:02 EDT 2013 Previous message: [odb-users] ...
- [置顶] How to create Oracle 11g R2 database manually in ASM?
Step 1: Specify an Instance Identifier (SID) export ORACLE_SID=maomi Step 2: Ensure That the Require ...
- Create schema error (unknown database schema '')
Andrey Devyatka 4 years ago Permalink Raw Message Hi,Please tell me, can I use the static library in ...
随机推荐
- 利用mysqldump备份magento数据库
在Magento开发和维护过程中,经常需要将Magento的数据库导出.导入,这些工作可以通过mysqldump这个工具来实现. 下面我来简单介绍一下mysqldump在导出导入Magento dat ...
- canvas、svg、canvas与svg的区别
一.canvas canvas 画布,位图 <canvas> 标签定义图形,比如图表和其他图像,您必须使用脚本来绘制图形 注意:不要在style中给canvas设置宽高,会有位移差 can ...
- awk对列求和
awk 'BEGIN{total=0}{total+=$1}END{print total}' 文件名
- LibreOJ #2037. 「SHOI2015」脑洞治疗仪
线段树区间合并问题 恶心... 屠龙宝刀点击就送 #include <cstdio> #define N 200005 struct Segment { int l,r,mid,sum,l ...
- 【Python图像特征的音乐序列生成】GitHub已经有人将mingus改到了Python3版本
https://github.com/bspaans/python-mingus/issues/45 注意此时的安装方法应该是: git clone https://github.com/edudob ...
- Windows Experience Index
The Windows Experience is still there--even in build 9860. However, the GUI was retired with Window ...
- 多并发下 SimpleDateFormat 出现错误
private static String time = "2019-01-11 11:11:11"; private static long timestamp = 154717 ...
- Vector 容器简单介绍
# Vector STL简要介绍 关于STL中的vector容器,以下做一些相关介绍. #### vector 简要概述 vector 称作向量类,属于容器类,实现了动态的数组,用于元素数量变化的对象 ...
- 【转】实用API大全
有道翻译APIhttp://fanyi.youdao.com/openapi有道翻译API支持中英互译,同时获得有道翻译结果和有道词典结果(可能没有),返回格式为XML或JSON. 百度翻译APIht ...
- OTOH
OTOH n 网络用语 On the Other Hand 另一方面 [例句]OTOH, pressure on the keys of a digital AFTER bottoming can b ...