Today, I was occupied again during the day. I sorted out my recent schedule in the evening and embarked on my newbie PHP learning journey again. Today I downloaded a "Chuangjia PHPTXT Guestbook Version 1.0" and started looking at the source code. It's already 11:28~.
First, start with index.php: require("config.php"); include("function.php"); The difference between require and include is still important. Manual: http://cn2.php.net/manual/zh/function.require.php.
Now let’s take a look at what’s in config.php and function.php.
Config.php defines some variables that are used throughout the website: such as administrator account, password, message storage path and file name, and the number of messages displayed on each page. I remember there is such a thing in Discuz. Maybe this is an unwritten rule for all PHP sites?
function.php defines a series of functions, such as checking usernames and passwords, converting UBB codes, etc., but I don’t know what UBB codes are~. Ignore it for now.
Go back to index.php. There are a few variables defined later that I don’t know what they are used for, so let’s just ignore them for now, I’m depressed. Followed by a header function http://cn2.php.net/manual/zh/function.header.php. Contains a file called head.php, and uses file() to read the file that saves the message into an array called msgd. http://cn2.php.net/manual/zh/function.file.php
I probably understand the source code today, but it’s too late, so I won’t write it for now and will talk about it later. You should install Word and copy it directly (I don’t know why I don’t have Word on my machine~~). Anyway, I have a rest today, and I won’t have time during the day tomorrow. I won’t go home at night. I will send people to the train station the day after tomorrow, and then go back to school. I really don't know when I will have time to continue my PHP.
require("head.php"); contains a file, but head seems to be only included in index.php. I don’t know why it is not written directly. The code in the head part mainly provides a form for searching messages.
$msgd=file($dbtable); $dbtable has been defined in config, $dbtable="data/data.dat"; This file is used to save messages. The file function is used here to save this file in the $msgd array. Each line of the file is an array element.
$rows=count($msgd); Here, the count function will be used to store the number of elements of $msgd (number of messages) in $rows.
if($kw)//Keyword, determine whether to search
{
for ($i=0;$i<=$rows;$i++)//Traverse
{
$tmp2=explode("| Delimiter |",$msgd[$i]);//No message exists in the tmp2 array.
if($type=="name")//If searching by name
{
$msgn[$i]=$tmp2[1];//Place the name in $msgn[$i]
}else//If you are not searching by name
{
$msgn[$i]=$tmp2[10];//Save the 10th element of the message array in msgn[$i]
}
if(eregi($kw,$msgn[$i]))
{
$chj_nr[]=$msgd[$i];//Use array $chj_nr[] to store a complete message
$chj_numib++;// The number of messages that meet the requirements
}
}
if($chj_numib<1) {echo "No matching results related to $kw!!";exit;}
$msg=array_reverse($chj_nr);//will match the search results Array of messages
$total=ceil($chj_numib/$pagesize); //Calculate the total number of pages
}else//If it is not a search
{
$chj_numib=$rows;//All messages
$msg=array_reverse( $msgd);
$total=ceil($chj_numib/$pagesize);
}
//echo $total;
if($pagesize*$total<$chj_numib)
{
$total++;
$total2=$total-1; //The following is useful
$page2=$page+1; $pp+$pagesize; // Calculate the number of ending items // Same as above
$nextpage=$page+2; $i<$pp2;$i++)//This for loop is used to output all messages that meet the requirements (array $msg)
{
if($i<$chj_numib){ #####
$tmp=explode ("|chjia_com|",$msg[$i]);
?>
The next step is to output a message. At this point index.php is basically finished.
The above is the content of Rookie’s PHP Notes 3. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!