#1 add life to static pages && connect to MySQL

由于实验室 Project 中需要用到PHP, 之前也没接触过 PHP, 因此把 编程入门 《Head Fist PHP & MySQL 》找来花了四五天快速过了一遍。

现在想把书中的系统东西总结一下,方便日后的查询。

chapter01 & chapter02 主要简单介绍了 PHP 以及 MySQL 数据库的基本语句,有基础的同学随便翻翻就懂了。

虽然简单,但是它仍然 构建出了一个 基本完整的网站的 框架, 这也是我觉得 Head First 系列很优秀的地方。

前两章主要大体介绍了 PHP 和 MySQL 数据库的基本操作,配套的书中在这两章中通过 PHP 和 MySQL 搭建了一个最简单的 WebSite。 为了练习英文我就用 英文写啦:

You can following the steps to finish this lab :

1. You need to install Apache, PHP, MySQL on you Server(Mine is Linux)

2. Create a new folder, name it Chapter01 or whatever, edit the following files in the folder:

/***    report.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>Aliens Abducted Me - Report an Abduction</title>
  <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
  <h2>Aliens Abducted Me - Report an Abduction</h2>

  <p>Share your story of alien abduction:</p>
  <form method="post" action="report.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">What is your email address?</label>
    <input type="text" id="email" name="email" /><br />
    <label for="whenithappened">When did it happen?</label>
    <input type="text" id="whenithappened" name="whenithappened" /><br />
    <label for="howlong">How long were you gone?</label>
    <input type="text" id="howlong" name="howlong" /><br />
    <label for="howmany">How many did you see?</label>
    <input type="text" id="howmany" name="howmany" /><br />
    <label for="aliendescription">Describe them:</label>
    <input type="text" id="aliendescription" name="aliendescription" size="32" /><br />
    <label for="whattheydid">What did they do to you?</label>
    <input type="text" id="whattheydid" name="whattheydid" size="32" /><br />
    <label for="fangspotted">Have you seen my dog Fang?</label>
    Yes <input id="fangspotted" name="fangspotted" type="radio" value="yes" />
    No <input id="fangspotted" name="fangspotted" type="radio" value="no" /><br />
    <img src="fang.jpg" width="100" height="175"
      alt="My abducted dog Fang." /><br />
    <label for="other">Anything else you want to add?</label>
    <textarea id="other" name="other"></textarea><br />
    <input type="submit" value="Report Abduction" name="submit" />
  </form>
</body>
</html>
View Code

/***    style.css      ***/

form label {
  display: inline-block;
   225px;
  font-weight: bold;
}
View Code

you can put these files in diffierent folders. that would be a good habit. I am so lazy so I put them together in one folder(Mine is cha01).

3. Create a database with the MySQL. User this database. Create a table in the database.

Use the command :

mysql -u root -p;  #you can login in MySQL as root

create database headfirst;  #create a database named headfirst;

use database headfirst; #use this database;

then you need to create a table with the following scripts:

CREATE TABLE aliens_abduction (
    first_name varchar(30),
    last_name varchar(30),
    when_it_happened varchar(30),
    how_long varchar(30),
    how_many varchar(30),
    alien_description varchar(100),
    what_they_did varchar(100),
    fang_spotted varchar(10),
    other varchar(100),
    email varchar(50)
);
View Code

4. Now you have finish the HTML file on the Server, which will send to the client(Broswer) , and people will use this file to get access to your Server.

and you have created a database on the Server, which will store the data the from client all over the world.

Then what you need is to set a PHP file on the Server to handle the requests from the client and put the data in the requests into the database.

Now, you can see the PHP file on the Server is just like a bridge between the client and server.

/***     report.php       ***/

<!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>Aliens Abducted Me - Report an Abduction</title>
</head>
<body>
  <h2>Aliens Abducted Me - Report an Abduction</h2>

<?php
    $first_name = $_POST['firstname'];
    $last_name = $_POST['lastname'];
    $when_it_happened = $_POST['whenithappened'];
    $how_long = $_POST['howlong'];
    $how_many = $_POST['howmany'];
    $alien_description = $_POST['aliendescription'];
    $what_they_did = $_POST['whattheydid'];
    $fang_spotted = $_POST['fangspotted'];
    $email = $_POST['email'];
    $other = $_POST['other'];

//    echo "Hello";

    $dbc = mysqli_connect('localhost', 'root', 'root', 'headfirst')
            or die('Error connecting to MySQL server.');


    $query = "INSERT INTO aliens_abduction(first_name, last_name,
        when_it_happened, how_long, how_many, alien_description,
        what_they_did, fang_spotted, other, email)
        VALUES('$first_name', '$last_name', '$when_it_happened', '$how_long',
            '$how_many','$alien_description', '$what_they_did', '$fang_spotted',
            '$other', '$email')";

    $result = mysqli_query($dbc, $query)
                or die('Error querying databases');

    mysqli_close($dbd);


      echo 'Thanks for submitting the form.<br />';
      echo 'You were abducted ' . $when_it_happened;
      echo ' and were gone for ' . $how_long . '<br />';
      echo 'Number of aliens: ' . $how_many . '<br />';
      echo 'Describe them: ' . $alien_description . '<br />';
      echo 'The aliens did this: ' . $what_they_did . '<br />';
      echo 'Was Fang there? ' . $fang_spotted . '<br />';
      echo 'Other comments: ' . $other . '<br />';
      echo 'Your email address is ' . $email;
?>

</body>
</html>
View Code

Then you have finished a basic WebSite. If you put it on to the internet, everyone can access it through the internet. Thats cool!

 
原文地址:https://www.cnblogs.com/beyond-Acm/p/4739446.html