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的更多相关文章

  1. #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 ...

  2. 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 ...

  3. [转]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 ...

  4. 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 ...

  5. [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 ...

  6. 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 ...

  7. [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] ...

  8. [置顶] 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 ...

  9. 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 ...

随机推荐

  1. Webstorm 激活

    注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址: http://idea.iteblog.com/key.php 点击:Acti ...

  2. IDEA对比文件

    和另一个文件对比:右击文件,选择另一个文件 和剪切板的内容对比:右击代码区域

  3. 1126 数字统计 2010年NOIP全国联赛普及组

    1126 数字统计 2010年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver         题目描述 Description 请统计某个 ...

  4. JavaScript 的 parseInt 取整

    http://www.neoease.com/javascript-get-integer-via-parseint/ JavaScript 是弱类型语言, 为了保证数值的有效性, 在处理数值的时候, ...

  5. UWP开发:自动生成迷宫&自动寻路算法(2)

    之后我们编写一个类,同时创建一个List,将List与前端的Rectangle绑定. public static List<Rect> Rects { get; set; }Rects = ...

  6. (四)SpringMVC之使用cookie实现记住密码的功能

    注意:因为实现记住密码的功能需要用到json,所以需要加上这条语句: <script type="text/javascript" src="scripts/jqu ...

  7. 组件的通信 :provide / inject 对象进入后,就等于不用props,然后内部对象,直接复制可以接受数组,属性不能直接复制,可以用Object.assgin覆盖对象,或者Vue的set 双向绑定数据

    组件的通信 :provide / inject 对象进入后,就等于不用props,然后内部对象,直接复制可以接受数组,属性不能直接复制,可以用Object.assgin覆盖对象,或者Vue的set 双 ...

  8. SQLSTATE=42000 #42000

    在使用PowerDesigner生成数据库表的时候遇到了这个问题. 原来是在填写属性的类型的时候, 少了两个括号, 造成了mysql数据类型错误 本来应该是varchar(50)的,写成了varcha ...

  9. java基础——Map集合

    Map以键值对的形式存储数据,其中Map.entry,是Map的内部类,它用来描述Map中的键值对.Map是一个接口,HashMap是他的一个实现类 Map中有几个重要的方法: get(Object ...

  10. webservice基础

    一.webservice概念 webservice用于异构平台之间的交互,我用Java写的程序,可以用php..net.pythod等其它语言的程序来访问我的接口.webservice有很多框架帮我们 ...