Many features of PHP are related to other software or tools. Using the PHP knowledge we have learned so far, we can try to build a simple interactive website. We can learn a lot through this process. Okay, let's now focus on the construction of a typical personal website.
3.1 Plan a site
Generally, a personal site includes a welcome page, a guestbook page, a bookmark link page, a counter, contact information, and even Photo collection and some music files and so on. Let’s start with a title page, a contact information page, and a resume page. We also need standard, universal page headers and footers.
Title page --front.html
Here we have a very simple html file:
My personal homepage--Welcome
My personal homepage
< /H1>
Welcome
Welcome to my humble abode, although there is nothing here yet.
But I hope there will be more soon.
Copyright ? Myself, 1999
Contact information page--count.html
Similarly we have another one Simple page:
My personal homepage--contact information
My Personal Homepage
Contact Information
You can contact me at 1-800-PHP-INFO
Copyright ? Myself, 1999
3.2 HTML to PHP
As you can see from above, every page has the same header and footer. Writing the same information to each page like above is fine when the workload is light, but imagine how much effort you have to expend when there are more than 100 pages and you need to change their header or bottom for them all? What a tedious and boring task it is to manually change page after page! So we should write PHP header and bottom files for these pages, and then we just need to reference them in every HTML page. We will place these include files in a subdirectory called include. Below we will write the common content of these sites into the file.
Welcome to my humble abode, although there is nothing here yet.
But I hope there will be more soon.
include("include/footer.inc");
?>
New cont.php3:
include("include/common.inc");
$title = " Contact Information";
include("include/header.inc");
?>
You can pass 1 -800-PHP-INFO Contact me
include("include/footer.inc");
?>
Now you can guess the benefits of this arrangement. If you want to change the header or bottom of the page, you only need to change the corresponding file. If you want to change your e-mail address or even your name, just modify the common.inc file. It's also worth noting that you can include files with any file name or file extension into your file, and you can even include files from other sites.
3.3 Counter
Let’s add a counter to the homepage. This example has been told many times, but it is still useful to demonstrate how to read and write files and create your own functions. counter.inc contains the following code:
/*
A simple counter
*/
function get_hitcount($counter_file)
{
/* Return the counter to zero
In this way, if the counter has not been used, the initial value will be 1
Of course you can also set the initial value to 20000 to deceive people
*/
$count=0;
// If the file storing the counter already exists, read Get the content
if ( file_exists($counter_file) )
{
$fp=fopen($counter_file,"r");
// We only took the top 20, I hope your site will not be too popular
$count=0+fgets($fp,20);
// Due to the function fgets( ) returns a string, which we can automatically convert to an integer by adding 0
fclose($fp);
// The file operation is completed
}
//Increase the count value once
$count++;
//Write the new count value to the file
$fp=fopen($counter_file, "w");
fputs($fp,$count);
fclose($fp);
# Return count value
return ( $count);
}
?>
Then we change the front.php3 file to display this counter:
include("include/counter.inc");
// I put the counter value in the file counter.txt, read it out and output it
printf ("
%06d
n",
get_hitcount("counter.txt"));
include( "include/footer.inc");
?>
Check out our new front.php3
3.4 Feedback Form
Let’s add another feedback form for your viewers to fill out and e-mail to you. For example, we use a very simple method to implement it. We only need two pages: one to provide the viewer with an input form; the other to obtain the form data, process it, and mail it to you.
Getting form data in PHP is very simple.When a form is sent, each element contained in the form is assigned a corresponding value, and can be used like a reference to a general variable.
In process_form.php3, the variable $mytext is assigned the entered value - very simple! Similarly, you can get variable values from form elements such as list boxes, multi-select boxes, radio boxes, buttons, etc. The only thing you have to do is give each element in the form a name so that you can reference it later.
According to this method, we can generate a simple form containing three elements: name, e-mail address and message. When the visitor sends the form, the PHP page (sendfdbk.php3) that processes the form reads the data, checks whether the name is empty, and finally emails the data to you.
Form: form.php3
include("include/common.inc");
$ title = "Feedback";
include("include/header.inc");
?>
< FORM ACTION="sendfdbk.php3" METHOD="POST">
SIZE="20" MAXLENGTH= "30">
value="Your Email" NAME="email">
include("include/footer.inc");
?>
Process form: sendfdbk.php3
include("include/common.inc");
$title = "Feedback ";
include("include/header.inc");
if ( $name == "" )
{
// Now I hate anonymous comments!
echo "Duh ? How come you are anonymous?";
}
elseif ($name == "Your name")
{
// This viewer really doesn’t want to be named!
echo "Hello ? Your name is proposed to be replaced with
your actual name!";
}
else
{
// Output a polite thank you
echo "
Hello, $name.
Thank you for your feedback. BR>
$MyName
$MyEmailLink
";
// Finally mail out
mail($ MyEmail, "Feedback.","
Name : $name
E-mail : $email
Comment : $comment
");
}
include("include/footer.inc");
?>
3.5 Simple on-site search engine
PHP can call external programs. In a Unix environment we can use the program grep to implement a simple search engine. We can make it a little more complicated: use a page to output a form for users to enter search strings and output query results.
include("include/common.inc");
$title = "Search";
include("include/ header.inc");
?>
if ( ! empty($searchstr) )
{
// empty() is used To check whether the query string is empty
// If it is not empty, call grep query
echo "n";
// Call grep to check Query all files in case-insensitive mode
include("include/footer.inc" ; . Contains the current file name.
fgets() reads the file line by line, with a maximum length of 4096 (specified) characters.
fgetss() is similar to fgets(), except that it parses the output HTML tags.
split() has a parameter of 2, because we only need to split the output into two parts. Also need to omit ":".
each() is an array operation function, used to traverse the entire array more conveniently.
The functions of popen() and pclose() are very similar to fopen() and fclose(), except that pipeline processing is added.
Please note that the above code is not a good way to implement a search engine. This is just an example to help us learn PHP better. Ideally you should build a database of keywords and then search them.
http://www.bkjia.com/PHPjc/314675.html
www.bkjia.com
true
http: //www.bkjia.com/PHPjc/314675.html
TechArticle
3PHP Practice Many features of PHP are related to other software or tools. Using the PHP knowledge we have learned so far, we can try to build a simple interactive website. Take advantage of this...
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn