Beginners to buy what tennis racket most of PHP beginners Headache 14 questions

Source: Internet
Author: User
Tags flock urlencode
A variable cannot be passed between the "1" page get,post,session in the latest PHP version, the auto global variable is closed, so the variable to be submitted from the previous page is to use the $_get[' foo '],$_post[' foo '],$_session[' Foo '] to get. Of course, you can also modify the automatic global variable to ON (php.ini to register_globals = on), or it is better to force yourself to be familiar with the new wording, considering compatibility.
"2" Win32 apache2 error when passing the Chinese parameter with the Get method:
test.php?a= Hello &b= You
Passing parameters can cause an internal error
Workaround: "Test.php?a=". UrlEncode (Hello). " &b= ". UrlEncode (you're good too)
.............
The session under "3" Win32 does not work properly
php.ini default Session.save_path =/tmp
This is obviously the configuration under Linux, Win32 PHP can not read and write the session file caused by the session can not be used, change it to an absolute path, such as Session.save_path = C:windows emp
"4" Displays error message
When php.ini display_errors = on and error_reporting = E_all, all errors and hints are displayed, preferably open for error correction when debugging, if you use the previous PHP notation, most of the error information is about undefined variables. Variables are called before they are assigned, and the solution is to detect or block.
For example, $foo can be displayed, if (Isset ($foo)) echo $foo or echo @ $foo
"5" Win32 Mail () cannot send email
Configured under Linux SendMail can be sent, in Win32 need to call the SMTP server to send e-mail, modify the php.ini SMTP = IP//ip is an SMTP server without authentication function (difficult to find online)
PHP the best way to send mail is to send the socket directly to the other email server instead of forwarding the server.
"6" first installed MySQL if you do not have a password set, you should use the update mysql.user set password= "YourPassword" where user= "root" to modify the password
"7" header already sent
This error usually occurs when you use the header, he may be several reasons: 1, you use the header before the Pring or Echo 2. You have a blank line 3 in front of your current file. You may include a file with a blank line at the end of the file or an output that will also cause this error.
"8" does not change after changing php.ini
Restart the Web server, such as Iis,apache and so on, before the latest settings are applied.
"9" PHP is installed on 2003 (ISAPI installation method Request Master advice)
PHP4 's php4isapi.dll seems to be in conflict with 2003 and can only be installed in CGI mode.
Step one, first www.php.net under a setup program, I am pretending to be: Php-4.2.3-installer.exe, you can also go to the latest version, before installing Php-4.2.3-installer.exe ensure that your IIS6.0 boot up and be able to access. After installation,--> the application configuration on the default Web site.
Step Two: Click Web Service Extension--> to create a new Web service extension.
Step three: Extension-->php, and then add
Step four: Find the path to Php.exe to add it up.
Step five: OK, yes!
Step six: Select PHP's service extensions, then click Allow.
"10" Sometimes SQL statements do not work, the database operation failed, the simplest debugging method, echo that SQL, look at the value of the variable can get No.
The difference between the "11" include and the Require
There is not much difference between the two, if the file to be included does not exist, include prompts notice, and then proceeds to execute the following statement, require prompts for a fatal error and exits.
According to my test, Win32 platform they are included in the first implementation, so the included file is best not have include or require statements, which will cause the directory confusion. Perhaps *nux under different circumstances, not yet tested.
If a file does not want to be included multiple times can be read using include_once or require_once##, write the document data.
function R ($file _name) {
$filenum = @fopen ($file _name, "R");
@flock ($filenum, lock_sh);
$file _data= @fread ($filenum, FileSize ($file _name));
@fclose ($filenum);
return $file _data;
}
function W ($file _name, $data, $method = "W") {
$filenum = @fopen ($file _name, $method);
Flock ($filenum, LOCK_EX);
$file _data=fwrite ($filenum, $data);
Fclose ($filenum);
return $file _data;
}
The difference between "12" isset () and Empty ()
Both are test variables, but Isset () is the test variable is assigned, and empty () is the test of whether a variable that has been assigned is empty.
If a variable is not assigned to the reference in PHP is allowed, but there will be notice hint, if a variable is assigned a null value, $foo = "" or $foo=0 or $foo =false, then empty ($foo) return True, Isset ($foo) also return True, This means that a null value does not unregister a variable.
To unregister a variable, you can use Unset ($foo) or $foo=null
The "13" MySQL query statement contains a keyword
When PHP queries MySQL, sometimes MySQL table name or column name will have a keyword, this time the query will be error. For example, the table name is Order, the query will be error, the simple way is the SQL statement table name or column name plus ' [Tab key] to distinguish, such as SELECT * from ' order '
"14" Method of uploading multiple files one time via HTTP protocol
There are two ideas that are two implementations of the same method. Specific procedures also need to design their own.
1. Set multiple file input boxes in the form and name them with an array, as follows:
<form action= "" method=post>
<input Type=file name=usefile[]>
<input Type=file name=usefile[]>
<input Type=file name=usefile[]>
</form>
In this way, the following tests are done on the server side:
echo "<pre>";
Print_r ($_files);
echo "</pre>";
2. Set multiple file input boxes in the form, but with different names, as follows:
<form action= "" method=post>
<input Type=file name=usefile_a>
<input Type=file name=usefile_b>
<input Type=file name=usefile_c>
</form>
Do the same test on the server side:
echo "<pre>";
Print_r ($_files);

The above describes the beginner to buy what tennis racket most of PHP beginners headache 14 questions, including what the beginner to buy what tennis racket aspects of the content, I hope that the PHP tutorial interested friends helpful.

  • Related Article

    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.