Classic: Learning Dynamic Web page PHP Technology FAQ Summary

Source: Internet
Author: User
Tags date file size file upload header parse error php file php and strlen

1: Why I can't get a variable

I post data name to another page on one page, why can't I get any value when I output $name?

Register_global defaults to off in later versions of PHP4.2
To obtain a variable submitted from another page:

Method One: Find the Register_global in the php.ini and set it to on.
Method Two: The Extract ($_post) is placed at the front of the receiving page, and extract ($_get) must have extract () before the $_session (Session_Start) is noted.
Method Three: One reads the variable $a=$_get["a"]; $b =$_post["B"] and so on, this method although troublesome, but relatively safe.

2: Debug Your program

You must know the value of a variable at run time. I did that by creating a document debug.php, which reads as follows:

PHP Code:

   <?PHP
   Ob_Start();
   Session_Start();
   Echo "<pre>";

   Echo "本页得到的_GET变量有:";
   Print_R($_GET);

   Echo "本页得到的_POST变量有:";
   Print_R($_POST);

   Echo "本页得到的_COOKIE变量有:";
   Print_R($_COOKIE);

   Echo "本页得到的_SESSION变量有:";
   Print_R($_SESSION);

   Echo "</pre>";
   ?>

Then set up in php.ini: include_path = "c:/php" and place debug.php in this folder, and then you can include the file in each page to see the variable name and value.

3: How to use session

When it comes to session, you must call the function session_start ();

Paying for the session is simple, such as:

PHP Code:

   <?php
   Session_start();
   $Name = "这是一个Session例子";
   Session_Register("Name");//注意,不要写成:Session_Register("$Name");
   Echo $_SESSION["Name"];
   //之后$_SESSION["Name"]为"这是一个Session例子"
   ?>

after php4.2, you can pay the value for the session directly:

PHP Code:

Canceling a session    <?PHP
   Session_Start();
   $_SESSION["name"]="value";
   ?>

can be like this:

PHP Code:

   <?php
   session_start();
   session_unset();
   session_destroy();
   ?>

Cancel a session variable above php4.2 and bug.

Attention:

1: cannot have any output before calling Session_Start (). For example, the following is wrong.
==========================================
1 lines
2 Line 3 line session_start ();//previous output in the first line
4 lines ...
5 Lines?>
==========================================

Tip 1:

All appear "... headers already sent ..... ..... ... "is the session_start () to output the information to the browser. Removing output is normal, (cookies can also be the same error, error reason)

Tip 2:

If your session_start () is in a looping statement and it is difficult to determine where to output the information to the browser before, you can use the following method:
1 lines? PHP Ob_start ();?>
........ Here is your program ...

2: What's wrong with that?

Warning:session_start (): Open (/tmp\sess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) failed: .....
Because you did not specify a path for the session file to be stored.

Workaround:
(1) Create folder TMP in C disk
(2) Open php.ini, find Session.save_path, modify to Session.save_path= "C:/tmp"

   4: Why I transfer a variable to another page, only the first half of the part, the beginning of a space is all lost

PHP Code:

   <?php
   $Var="hello php";//修改为$Var=" hello php";试试得到什么结果
   $post= "receive.php?Name=".$Var;
   header("location:$post");
   ?>

   receive.php的内容:

   PHP代码:

   <?PHP
   Echo "<pre>";
   Echo $_GET["Name"];
   Echo "</pre>";
   ?>

The correct approach is to:

PHP Code:

   <?php
   $Var="hello php";
   $post= "receive.php?Name=".urlencode($Var);
   header("location:$post");
   ?>

on the receiving page you do not need to use UrlDecode (), the variable is automatically encoded.

5: How do I know what function the system supports by default?

PHP Code:

   <?php
   $arr = get_defined_functions();
   Function php() {
   }
   echo "<pre>";
   Echo "这里显示系统所支持的所有函数,和自定以函数php\n";
   print_r($arr);
   echo "</pre>";
   ?>


6: How to compare two date difference days

PHP Code:

   <?PHP
   $Date_1="2003-7-15";//也可以是:$Date_1="2003-7-15 23:29:14";
   $Date_2="1982-10-1";
   $d1=strtotime($Date_1);
   $d2=strtotime($Date_2);
   $Days=round(($d1-$d2)/3600/24);
   Echo "偶已经奋斗了 $Days 天^_^";
   ?>

   7: Why I upgraded PHP, the original program appears full screen of notice:undefined variable:

This is the meaning of the warning because the variable is undefined.
Open PHP.ini, find the bottom error_reporting, change to error_reporting = E_all & ~e_notice

For parse error errors
Error_reporting (0) cannot be closed.
If you want to turn off any error prompts, open php.ini, find display_errors, set to Display_errors = off. Any future errors will not be prompted.

Then what is error_reporting?

   8: I want to add a file to the top of each file and the last one. But one of the added very troublesome

1: Open php.ini file
Set include_path= "C:"

2: Write two files
Auto_prepend_file.php and auto_append_file.php are saved in the C disk and they will automatically attach to the head and tail of each PHP file.

3: Found in php.ini:
Automatically add files before or after any PHP document.
Auto_prepend_file = auto_prepend_file.php; attached to the head
Auto_append_file = auto_append_file.php; attached to the tail

Every PHP file you have in the future is equivalent

PHP Code:

Include "auto_prepend_file.php";

...//This is your program.

Include "auto_append_file.php";
?>
  9: How to upload files using PHP

PHP Code:

<title> Upload File Form </title><body>
<form enctype= "Multipart/form-data" action= "" method= "POST" >
Please select a file: <br>
<input name= "Upload_file" type= "file" ><br>
<input type= "Submit" value= "Upload file" >
</form>
</body>
?
$upload _file=$_files[' upload_file ' [' tmp_name '];
$upload _file_name=$_files[' upload_file ' [' name '];

if ($upload _file) {
$file _size_max = 1000*1000;//1M limit file upload maximum capacity (bytes)
$store _dir = "d:/";//upload file storage location
$accept _overwrite = 1;//whether to allow overwriting of the same file
Check File size
if ($upload _file_size > $file _size_max) {
echo "Sorry, your file capacity is greater than the provisions";
Exit
}

Check read and write files
if (file_exists ($store _dir. $upload _file_name) &&! $accept _overwrite) {
Echo "file with same filename";
Exit
}

Copying files to a specified directory
if (!move_uploaded_file ($upload _file, $store _dir. $upload _file_name)) {
echo "Copy file failed";
Exit
}

}

Echo "<p> you uploaded the file:";
echo $_files[' upload_file ' [' name '];
echo "<br>";
The original name of the client machine file.

The MIME type of the Echo file is: ";
echo $_files[' upload_file ' [' type '];
The MIME type of the file, which requires the browser to provide support for that information, such as "Image/gif".
echo "<br>";

Echo "Upload file size:";
echo $_files[' upload_file ' [' Size '];
The size of the uploaded file in bytes.
echo "<br>";

Echo "file is temporarily stored as:";
echo $_files[' upload_file ' [' tmp_name '];
The temporary file name stored on the server after the file is uploaded.
echo "<br>";
$Erroe =$_files[' upload_file ' [' Error '];
Switch ($Erroe) {
Case 0:
Echo "Upload success"; Break
Case 1:
Echo "uploaded a file that exceeds the Upload_max_filesize option limit in php.ini." Break
Case 2:
Echo "The size of the upload file exceeds the value specified by the Max_file_size option in the HTML form. "; Break
Case 3:
Echo "file is only partially uploaded";
Case 4:
Echo "no file uploaded";
}
?>

   10: How to configure the GD library

The following is my configuration process
1: With dos command (can also manually operate, copy all DLL files in DLLs folder to system32 directory) copy C:\php\dlls\*.dll c:\Windows\system32\
2: Open php.ini
Set extension_dir = "c:/php/extensions/";
3:
Extension=php_gd2.dll: Remove the comma before extension, and if there is no php_gd2.dll,php_gd.dll, make sure that the document exists C:/php/extensions/php_gd2.dll
4: Run the following program to test

PHP Code:

   <?php
   Ob_end_flush();
   //注意,在此之前不能向浏览器输出任何信息,要注意是否设置了 auto_prepend_file.
   header ("Content-type: image/png");
   $im = @imagecreate (200, 100)
  or die ("无法创建图像");
   $background_color = imagecolorallocate ($im, 0,0, 0);
   $text_color = imagecolorallocate ($im, 230, 140, 150);
   imagestring ($im, 3, 30, 50, "A Simple Text String", $text_color);
   imagepng ($im);
   ?>

   11: What is UBB code

UBB code is a variant of HTML, is Ultimate Bulletin Board (a foreign BBS program, there are many places in the domestic use of this program) a special tag.

even if you prohibit the use of HTML, you can do it with Ubbcode. Perhaps you would prefer to use Ubbcode instead of HTML, even if the forums allow HTML, because it is safer to use less code.
5: How to intercept the specified length of Chinese characters without appearing with the "?>" End, Beyond the section "..." instead

In general, the variables to be intercepted are from MySQL, first of all to ensure that the field length is long enough, generally char (200), you can maintain 100 characters, including punctuation.

PHP Code:

   <?PHP
   $str="这个字符好长呀,^_^";
   $Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...
   Echo "$Short_Str";
   Function csubstr($str,$start,$len)
   {
   $strlen=strlen($str);
   $clen=0;
   for($i=0;$i<$strlen;$i++,$clen++)
   {
   if ($clen>=$start+$len)
   break;
   if(ord(substr($str,$i,1))>0xa0)
   {
   if ($clen>=$start)
   $tmpstr.=substr($str,$i,2);
   $i++;
   }
   else
   {
   if ($clen>=$start)
   $tmpstr.=substr($str,$i,1);
   }
   }

   return $tmpstr;
   }
   Function showShort($str,$len)
   {
   $tempstr = csubstr($str,0,$len);
   if ($str<>$tempstr)
   $tempstr .= "..."; //要以什么结尾,修改这里就可以.

   return $tempstr;
   }

   12: Specification of your SQL statement

In the table, precede the field with "'" so that there is no error because of misuse of keywords, of course, I do not recommend you to use keywords.

For example
$SQL = "INSERT into ' xltxlm ' (' Author ', ' title ', ' id ', ' content ', ' Date ') VALUES (' xltxlm ', ' use ', 1, ' criterion your Sql s Tring ', ' 2003-07-11 00:00:00 ')

"'" How to enter? Above the TAB key.

   13: How to make the string in html/php format not interpreted, but as shown

PHP Code:

   <?PHP
   $str="<h1>PHP</h1>";
   Echo "被解释过的: ".$str."<br>经过处理的:";
   Echo htmlentities(nl2br($str));
   ?>

   14 How to get the value of a variable outside a function in a function

PHP Code:

   <?PHP
   $a="PHP";
   foo();
   Function foo()
   {
   global $a;//删除这里看看是什么结果
   Echo "$a";
   }
   ?>



Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.