足彩篮彩哪里买 篮彩神棍区手机版 nba篮彩怎么玩 1月5日篮彩 篮彩大小分攻略 篮彩分析网站 1.79完美篮彩大极品 篮彩预测分析专家推荐 足彩篮彩解盘分析 篮彩竞彩 篮彩分析捷报 网易篮彩 1.79火龙大极品篮彩版 篮彩大小分什么意思 nba篮彩篮球彩票

IT職業教育

華中地區北大青鳥校區IT集訓營

027-87807717

北大青鳥首頁 > 熱門IT技術教程 > 前端技術教程 > > PHP初學者常見的十四個問題總結

PHP初學者常見的十四個問題總結

時間:2012-12-29 11:04 來源:北大青鳥武漢宏鵬魯廣校區作者:北大青鳥魯廣校區
導讀:PHP初學者常常會遇到一些問題,北大青鳥魯廣校區帶你總結常見的十四個問題,這些問題,你遇到了嗎?

問題一
    頁面之間無法傳遞變量 get,post,session在新的php版本中自動局變量是關閉的,所以要從上一頁面取得提交過來得變量要使用$_GET[foo],$_POST[foo],$_SESSION[foo]來得到。當然也可以修改自動局變量為開(php.ini改為register_globals = On);考慮到兼容性,還是強迫自己熟悉新的寫法比較好。


問題二
Win32下apache2 用get方法傳遞中文參數會出錯:
test.php?a=你好&b=你也好
傳遞參數是會導致一個內部錯誤
 
解決辦法:"test.php?a=".urlencode(你好)."&b=".urlencode(你也好)
.............

問題三
win32下的session不能正常工作
php.ini默認的session.save_path = /tmp
這顯然是linux下的配置,win32下php無法讀寫session文件導致session無法使用,把它改成一個路徑就可以了,例如session.save_path = c:windows emp


問題四
顯示錯誤信息
    當php.ini的display_errors = On并且error_reporting = E_ALL時,將顯示所有的錯誤和提示,調試的時候好打開以便糾錯,如果你用以前php寫法錯誤信息多半是關于未定義變量的。變量在賦值以前調用會有提示,解決辦法是探測或者屏蔽。
例如顯示$foo,可以if(isset($foo)) echo $foo 或者echo @$foo


問題五
Win32下mail()不能發送電子郵件
    在linux下配置好的sendmail可以發送,在win32下需要調用smtp服務器來發送電子郵件,修改php.ini的SMTP = ip //ip是不帶驗證功能的smtp服務器(網上很難找到)
php發送郵件的好解決方法是用socket直接發送到對方email服務器而不用轉發服務器。


問題六
   初裝的mysql如果沒有設置密碼,應該使用update mysql.user set password="yourpassword" where user="root" 修改密碼


問題七
header already sent
    這個錯誤通常會在你使用HEADER的時候出現,他可能是幾種原因:1,你在使用HEADER前PRING或者ECHO了2.你當前文件前面有空行3.你可能INCLUDE了一個文件,該文件尾部有空行或者輸出也會出現這種錯誤。!


問題八
更改php.ini后沒有變化
重新啟動web server,比如IIS,Apache等等,然后才會應用新的設置。


問題九
php在2003上面安裝(ISAPI的安裝方法懇請高手指教)
PHP4的php4isapi.dll好像和2003有些沖突,只能用CGI模式安裝

  步驟一,先www.php.net 下在一個安裝程序,我是裝的是:php-4.2.3-installer.exe,你也可以去找新的版本,在安裝php-4.2.3-installer.exe之前保證你的IIS6.0啟動了,并能夠訪問。安裝好以后,在默認網站-->應用程序配置。

  步驟二:點擊 web服務擴展 -->新建web服務擴展。

  步驟三: 擴展名-->php,然后添加

  步驟四:找到php.exe的路徑添加上去。

  步驟五: 確定就可以了!
 
  步驟六: 選擇php的服務擴展,然后點擊允許。


問題十
    有時候sql語句不起作用,對數據庫操作失敗,簡便的調試方法,echo那句sql,看看變量的值能得到不。


問題十一
include和require的區別
    兩者沒有太大的區別,如果要包含的文件不存在,include提示notice,然后繼續執行下面的語句,require提示致命錯誤并且退出。
據我測試,win32平臺下它們都是先包含后執行,所以被包含文件里好不要再有include或require語句,這樣會造成目錄混亂。或許*nux下情況不同,暫時還沒測試。
如果一個文件不想被包含多次可以使用include_once或require_once## 讀取,寫入文檔數據。

function r($file_name) {
 [email protected]($file_name,"r");
 @flock($filenum,LOCK_SH);
 [email protected]($filenum,filesize($file_name));
 @fclose($filenum);
 return $file_data;
}
function w($file_name,$data,$method="w"){
 [email protected]($file_name,$method);
 flock($filenum,LOCK_EX);
 $file_data=fwrite($filenum,$data);
 fclose($filenum);
 return $file_data;
}


問題十二
isset()和empty()的區別

  兩者都是測試變量用的,但是isset()是測試變量是否被賦值,而empty()是測試一個已經被賦值的變量是否為空。

  如果一個變量沒被賦值就引用在php里是被允許的,但會有notice提示,如果一個變量被賦空值,$foo=""或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是說賦空值不會注銷一個變量。
 
  要注銷一個變量,可以用 unset($foo)或者$foo=NULL


問題十三
mysql查詢語句包含有關鍵字
    php查詢mysql的時候,有時候mysql表名或者列名會有關鍵字,這時候查詢會有錯誤。例如表名是order,查詢時候會出錯,簡單的辦法是sql語句里表名或者列名加上`[tab鍵上面]來加以區別,例如select * from `order`


問題十四
    通過HTTP協議一次上傳多個文件的方法
    有兩個思路,是同一個方法的兩種實現。具體程序還需自己去設計。

  1、在form中設置多個文件輸入框,用數組命名他們的名字,如下:

<form action="" method=post>
<input type=file name=usefile[]>
<input type=file name=usefile[]>
<input type=file name=usefile[]>
</form>

  這樣,在服務器端做以下測試:

echo "<pre>";
print_r($_FILES);
echo "</pre>";

  2、在form中設置多個文件輸入框,但名字不同,如下:

<form action="" method=post>
<input type=file name=usefile_a>
<input type=file name=usefile_b>
<input type=file name=usefile_c>
</form>

  在服務器端做同樣測試:

echo "<pre>";
print_r($_FILES);
echo "</pre>";

相關文章

告訴我們,你現在想了解什么?

精彩專題——96%的同學看到這里都會點擊下面的專題

  • 關于我們
  • 魯廣校區北大青鳥宏鵬IT學院

    • 北大青鳥(武漢宏鵬)魯廣北校區地址:武漢市洪山區珞喻路724號(地鐵二號線光谷廣場站E口出)三樓
      電話:027-87807717
      網址:www.027hpit.com

    • 北大青鳥宏鵬IT學院:武漢市洪山區魯磨路568號
      電話:027-87808818
      網址:www.accp027.com

    • 北大青鳥(武漢宏鵬)魯廣南校區:武漢市洪山區珞喻路724號(地鐵二號線光谷廣場站E口出)五樓
      電話:027-87807736
      網址:www.whhpit.com

Copyright (c) 2006-2020 武漢宏鵬教育咨詢有限公司 版權所有 All Rights Reserved.

nba篮彩篮球彩票
足彩篮彩哪里买 篮彩神棍区手机版 nba篮彩怎么玩 1月5日篮彩 篮彩大小分攻略 篮彩分析网站 1.79完美篮彩大极品 篮彩预测分析专家推荐 足彩篮彩解盘分析 篮彩竞彩 篮彩分析捷报 网易篮彩 1.79火龙大极品篮彩版 篮彩大小分什么意思 nba篮彩篮球彩票
湖北30选5综合走势图 老北京麻将馆 火箭vs马刺 日日进财投注 pp电子游戏稳赚技巧 绝地求生国服什么时候上线 寻仙手游什么职业好玩 法兰克福天气 惊喜秀游戏 河南快3遗漏一定牛 广西快乐10分钟走势图 在线棋牌娱乐 四川麻将牌游戏 追寻太阳官网 德国纽伦堡景点 fifa手游哪个门将好