PHP錯誤總結-不斷更新(新手必看)

做開發請開啓全部錯誤提示:error_reporting = E_ALL | E_STRICT
屏蔽錯誤提示等於掩耳盜鈴。
代碼寫規範,錯誤少一半。


1:爲什麼我得不到變量 


我在一網頁向另一網頁POST數據name,爲什麼輸出$name時卻得不到任何值? 


在PHP4.2以後的版本中register_global默認爲off 
若想取得從另一頁面提交的變量: 


方法一:在PHP.ini中找到register_global,並把它設置爲on. 
方法二:在接收網頁最前面放上這個extract($_POST);extract($_GET);(注意extract($_SESSION)前必須要有Session_Start()). 
方法三:一個一個讀取變量$a=$_GET["a"];$b=$_POST["b"]等,這種方法雖然麻煩,但比較安全. 


2:調試你的程序 


在運行時必須知道某個變量爲何值。我是這樣做的,建立一文件debug.php,其內容如下: 


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>";




-------------------------------------------------------------------------------- 


然後在php.ini中設置:include_path = "c:/php",並將debug.php放在此文件夾, 
以後就可以在每個網頁裏包含此文件,查看得到的變量名和值. 


3:如何使用session 


凡是與session有關的,之前必須調用函數session_start(); 


爲session付值很簡單,如: 




PHP代碼:-------------------------------------------------------------------------------- 


[php] 
Session_start(); 
$Name = "這是一個Session例子"; 
Session_Register("Name");//注意,不要寫成:Session_Register("$Name"); 
Echo $_SESSION["Name"]; 
//之後$_SESSION["Name"]爲"這是一個Session例子" 
[/php] 


-------------------------------------------------------------------------------- 






在php4.2之後,可以爲session直接付值: 


PHP代碼:-------------------------------------------------------------------------------- 


[php] 
Session_Start(); 
$_SESSION["name"]="value"; 
[/php] 


-------------------------------------------------------------------------------- 


取消session可以這樣: 


PHP代碼:-------------------------------------------------------------------------------- 


[php] 
session_start(); 
session_unset(); 
session_destroy(); 
[/php] 


-------------------------------------------------------------------------------- 




取消某個session變量在php4.2以上還有BUG. 






注意: 


1:在調用Session_Start()之前不能有任何輸出.例如下面是錯誤的. 
========================================== 
1行 
2行 [php] 
3行 Session_Start();//之前在第一行已經有輸出 
4行 ..... 
5行 [/php] 
========================================== 




提示1: 


凡是出現"........headers already sent..........",就是Session_Start()之前向瀏覽器輸出信息. 
去掉輸出就正常,(COOKIE也會出現這種錯誤,錯誤原因一樣) 


提示2: 


如果你的Session_Start()放在循環語句裏,並且很難確定之前哪裏向瀏覽器輸出信息,可以用下面這種方法: 
1行 [php] Ob_Start(); [/php] 
........這裏是你的程序...... 






2:這是什麼錯誤 


Warning: session_start(): open(/tmpsess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) failed:.... 
因爲你沒有指定session文件的存放路徑. 


解決方法: 
(1)在c盤建立文件夾tmp 
(2)打開php.ini,找到session.save_path,修改爲session.save_path= "c:/tmp" 






4:爲什麼我向另一網頁傳送變量時,只得到前半部分,以空格開頭的則全部丟失 




PHP代碼:-------------------------------------------------------------------------------- 


[php] 
$Var="hello php";//修改爲$Var="      hello php";試試得到什麼結果 
$post= "receive.php?Name=".$Var; 
header("location:$post"); 
[/php] 


-------------------------------------------------------------------------------- 


receive.php的內容: 


PHP代碼:-------------------------------------------------------------------------------- 


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


-------------------------------------------------------------------------------- 




正確的方法是: 


PHP代碼:-------------------------------------------------------------------------------- 


[php] 
$Var="hello php"; 
$post= "receive.php?Name=".urlencode($Var); 
header("location:$post"); 
[/php] 


-------------------------------------------------------------------------------- 




在接收頁面你不需要使用Urldecode(),變量會自動編碼. 




5:如何截取指定長度漢字而不會出現以"[/php]"結尾,超出部分以"..."代替 




一般來說,要截取的變量來自Mysql,首先要保證那個字段長度要足夠長,一般爲char(200),可以保持100個漢字,包括標點. 


PHP代碼:-------------------------------------------------------------------------------- 


[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; 



-------------------------------------------------------------------------------- 






6:規範你的SQL語句 




在表格,字段前面加上"`",這樣就不會因爲誤用關鍵字而出現錯誤, 
當然我並不推薦你使用關鍵字. 


例如 
$Sql="INSERT INTO `xltxlm` (`author`, `title`, `id`, `content`, `date`) VALUES ('xltxlm', 'use`', 1, 'criterion your sql string ', '2003-07-11 00:00:00')" 


"`"怎麼輸入? 在TAB鍵上面. 




7:如何使Html/PHP格式的字符串不被解釋,而是照原樣顯示 




PHP代碼:-------------------------------------------------------------------------------- 


[php] 
$str="<h1>PHP</h1>"; 
Echo "被解釋過的: ".$str."<br>經過處理的:"; 
Echo    htmlentities(nl2br($str)); 
[/php] 


-------------------------------------------------------------------------------- 






8:怎麼在函數裏取得函數外的變量值 




PHP代碼:-------------------------------------------------------------------------------- 


[php] 
$a="PHP"; 
foo(); 
Function foo() 

  global $a;//刪除這裏看看是什麼結果 
  Echo "$a"; 

[/php] 


-------------------------------------------------------------------------------- 






9:我怎麼知道系統默認支持什麼函數 




PHP代碼:-------------------------------------------------------------------------------- 


[php] 
$arr = get_defined_functions(); 
Function php() { 

echo    "<pre>"; 
Echo    "這裏顯示系統所支持的所有函數,和自定以函數phpn"; 
print_r($arr); 
echo    "</pre>"; 
[/php] 
-------------------------------------------------------------------------------- 




10:如何比較兩個日期相差幾天 




PHP代碼:-------------------------------------------------------------------------------- 


[php] 
$Date_1="2003-7-15";//也可以是:$Date_1="2003-6-25 23:29:14"; 
$Date_2="1982-10-1"; 
$Date_List_1=explode("-",$Date_1); 
$Date_List_2=explode("-",$Date_2); 
$d1=mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]); 
$d2=mktime(0,0,0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]); 
$Days=round(($d1-$d2)/3600/24); 
Echo    "偶已經奮鬥了 $Days 天^_^"; 
[/php] 


-------------------------------------------------------------------------------- 




11:爲什麼我升級PHP後,原來的程序出現滿屏的 Notice: Undefined variable: 




這是警告的意思,由於變量未定義引起的. 
打開php.ini,找到最下面的error_reporting,修改爲error_reporting = E_ALL & ~E_NOTICE 


對於Parse error錯誤 
error_reporting(0)無法關閉. 
如果你想關閉任何錯誤提示,打開php.ini,找到display_errors,設置爲display_errors = Off.以後任何錯誤都不會提示. 


那什麼是error_reporting? 






12:我想在每個文件最前,最後面都加上一文件.但一個一個添加很麻煩 


1:打開php.ini文件 
設置 include_path= "c:" 


2:寫兩個文件 
auto_prepend_file.php 和 auto_append_file.php 保存在c盤,他們將自動依附在每個php文件的頭部和尾部. 


3:在php.ini中找到: 
Automatically add files before or after any PHP document. 
auto_prepend_file = auto_prepend_file.php;依附在頭部 
auto_append_file = auto_append_file.php;依附在尾部 


以後你每個php文件就相當於 


PHP代碼:-------------------------------------------------------------------------------- 


[php] 
Include "auto_prepend_file.php" ; 


.......//這裏是你的程序 




Include "auto_append_file.php"; 
[/php] 


-------------------------------------------------------------------------------- 








13:如何利用PHP上傳文件 






PHP代碼:-------------------------------------------------------------------------------- 
[php] 
<html><head> 
<title>上載文件表單</title></head> 
<body> 
<form enctype="multipart/form-data" action="" method="post"> 
請選擇文件: <br> 
<input name="upload_file" type="file"><br> 
<input type="submit" value="上傳文件"> 
</form> 
</body> 
</html> 


$upload_file=$_FILES['upload_file']['tmp_name']; 
$upload_file_name=$_FILES['upload_file']['name']; 


if($upload_file){ 
$file_size_max = 1000*1000;// 1M限制文件上傳最大容量(bytes) 
$store_dir = "d:/";// 上傳文件的儲存位置 
$accept_overwrite = 1;//是否允許覆蓋相同文件 
// 檢查文件大小 
if ($upload_file_size > $file_size_max) { 
echo "對不起,你的文件容量大於規定"; 
exit; 



// 檢查讀寫文件 
if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) { 
Echo    "存在相同文件名的文件"; 
exit; 



//複製文件到指定目錄 
if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) { 
echo "複製文件失敗"; 
exit; 






Echo    "<p>你上傳了文件:"; 
echo  $_FILES['upload_file']['name']; 
echo "<br>"; 
//客戶端機器文件的原名稱。 


Echo    "文件的 MIME 類型爲:"; 
echo $_FILES['upload_file']['type']; 
//文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如“image/gif”。 
echo "<br>"; 


Echo    "上傳文件大小:"; 
echo $_FILES['upload_file']['size']; 
//已上傳文件的大小,單位爲字節。 
echo "<br>"; 


Echo    "文件上傳後被臨時儲存爲:"; 
echo $_FILES['upload_file']['tmp_name']; 
//文件被上傳後在服務端儲存的臨時文件名。 
echo "<br>"; 




$Erroe=$_FILES['upload_file']['error']; 
switch($Erroe){ 
        case 0: 
            Echo    "上傳成功"; break; 
        case 1: 
            Echo    "上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值."; break; 
        case 2: 
            Echo    "上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。";    break; 
        case 3: 
            Echo    "文件只有部分被上傳";break; 
        case 4: 
            Echo    "沒有文件被上傳";break; 

[/php] 


-------------------------------------------------------------------------------- 






14:如何配置GD庫 




下面是我的配置過程 
1:用dos命令(也可以手動操作,拷貝dlls文件夾裏所有dll文件到system32目錄下) copy c:phpdlls*.dll c:windowssystem32 
2:打開php.ini 
設置extension_dir = "c:/php/extensions/"; 
3: 
extension=php_gd2.dll;把extension前面的逗號去掉,如果沒有php_gd2.dll,php_gd.dll也一樣,保證確實存在這一文件c:/php/extensions/php_gd2.dll 
4:運行下面程序進行測試 


PHP代碼:-------------------------------------------------------------------------------- 


[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); 
[/php] 


-------------------------------------------------------------------------------- 






點擊這裏查看結果 






15:什麼是UBB代碼 




UBB代碼是HTML的一個變種,是Ultimate Bulletin Board (國外一個BBS程序,國內也有不少地方使用這個程序)採用的一種特殊的TAG. 
即使禁止使用 HTML,你也可以用 UBBCode? 來實現.也許你更希望使用 UBBCode? 而不是 HTML, 即使論壇允許使用 HTML, 因爲使用起來代碼較少也更安全. 


Q3boy的UBB裏面付有例子,可以直接運行測試 




16:我想修改MySQL的用戶,密碼 


首先要聲明一點,大部分情況下,修改MySQL是需要有mysql裏的root權限的, 
所以一般用戶無法更改密碼,除非請求管理員. 


方法一 
  使用phpmyadmin,這是最簡單的了,修改mysql庫的user表, 
  不過別忘了使用PASSWORD函數。 


方法二 
  使用mysqladmin,這是前面聲明的一個特例。 
  mysqladmin -u root -p password mypasswd 
  輸入這個命令後,需要輸入root的原密碼,然後root的密碼將改爲mypasswd。 
  把命令裏的root改爲你的用戶名,你就可以改你自己的密碼了。 
  當然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執行mysqladmin, 
  那麼這種方法就是無效的。 
  而且mysqladmin無法把密碼清空。 


下面的方法都在mysql提示符下使用,且必須有mysql的root權限: 
  方法三 
  mysql> INSERT INTO mysql.user (Host,User,Password) 
  VALUES('%','jeffrey',PASSWORD('biscuit')); 
  mysql> FLUSH PRIVILEGES 
  確切地說這是在增加一個用戶,用戶名爲jeffrey,密碼爲biscuit。 
  在《mysql中文參考手冊》裏有這個例子,所以我也就寫出來了。 
  注意要使用PASSWORD函數,然後還要使用FLUSH PRIVILEGES。 


方法四 
  和方法三一樣,只是使用了REPLACE語句 
  mysql> REPLACE INTO mysql.user (Host,User,Password) 
  VALUES('%','jeffrey',PASSWORD('biscuit')); 
  mysql> FLUSH PRIVILEGES 


方法五 
  使用SET PASSWORD語句, 
  mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit'); 
  你也必須使用PASSWORD()函數, 
  但是不需要使用FLUSH PRIVILEGES。 


方法六 
  使用GRANT ... IDENTIFIED BY語句 
  mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit'; 
  這裏PASSWORD()函數是不必要的,也不需要使用FLUSH PRIVILEGES。 


注意: PASSWORD() [不是]以在Unix口令加密的同樣方法施行口令加密。 




17:我想知道他是通過哪個網站連接到本頁 






PHP代碼:-------------------------------------------------------------------------------- 


[php] 
//必須通過超級連接進入纔有輸出 
Echo $_SERVER['HTTP_REFERER']; 
[/php] 


-------------------------------------------------------------------------------- 






18:數據放入數據庫和取出來顯示在頁面需要注意什麼 


入庫時 
$str=addslashes($str); 
$sql="insert into `tab` (`content`) values('$str')"; 
出庫時 
$str=stripslashes($str); 
顯示時 
$str=htmlspecialchars(nl2br($str)) ; 










19:如何讀取當前地址欄信息 






PHP代碼:-------------------------------------------------------------------------------- 


[php] 
$s="http://{$_SERVER['HTTP_HOST']}:{$_SERVER["SERVER_PORT"]}{$_SERVER['SCRIPT_NAME']}"; 
$se=''; 
foreach ($_GET as $key => $value) {    
$se.=$key."=".$value."&";    
}  
$se=Preg_Replace("/(.*)&$/","$1",$se); 
$se?$se="?".$se:""; 
echo    $s."?$se"; 
[/php] 
-------------------------------------------------------------------------------- 








20:我點擊後退按鈕,爲什麼之前填寫的東西不見 


這是因爲你使用了session. 
解決辦法: 


PHP代碼:-------------------------------------------------------------------------------- 


[php] 
session_cache_limiter('private, must-revalidate'); 
session_start(); 
........... 
.......... 
[/php] 


-------------------------------------------------------------------------------- 






21:怎麼在圖片裏顯示IP地址 




PHP代碼:-------------------------------------------------------------------------------- 


[php] 
  Header("Content-type: image/png"); 
  $img = ImageCreate(180,50); 
  $ip = $_SERVER['REMOTE_ADDR']; 
  ImageColorTransparent($img,$bgcolor); 
  $bgColor = ImageColorAllocate($img, 0x2c,0x6D,0xAF); // 背景顏色 
  $shadow = ImageColorAllocate($img, 250,0,0);    // 陰影顏色 
  $textColor = ImageColorAllocate($img, oxff,oxff,oxff);        // 字體顏色 
  ImageTTFText($img,10,0,78,30,$shadow,"d:/windows/fonts/Tahoma.ttf",$ip); //顯示背景 
  ImageTTFText($img,10,0,25,28,$textColor,"d:/windows/fonts/Tahoma.ttf","your ip is".$ip); // 顯示IP 
  ImagePng($img); 
  imagecreatefrompng($img); 
  ImageDestroy($img); 
[/php] 


-------------------------------------------------------------------------------- 






22:如何取得用戶的真實IP 




PHP代碼:-------------------------------------------------------------------------------- 


[php] 
function iptype1 () { 
if (getenv("HTTP_CLIENT_IP")) { 
    return getenv("HTTP_CLIENT_IP"); 

else { 
    return "none"; 


function iptype2 () { 
if (getenv("HTTP_X_FORWARDED_FOR")) { 
    return getenv("HTTP_X_FORWARDED_FOR"); 

else { 
    return "none"; 


function iptype3 () { 
if (getenv("REMOTE_ADDR")) { 
    return getenv("REMOTE_ADDR"); 

else { 
    return "none"; 


function ip() { 
$ip1 = iptype1(); 
  $ip2 = iptype2(); 
$ip3 = iptype3(); 
if (isset($ip1) && $ip1 != "none" && $ip1 != "unknown") { 
    return $ip1; 

elseif (isset($ip2) && $ip2 != "none" && $ip2 != "unknown") { 
    return $ip2; 

elseif (isset($ip3) && $ip3 != "none" && $ip3 != "unknown") { 
    return $ip3; 
}  
  else { 
  return "none"; 




Echo ip(); 
[/php] 
-------------------------------------------------------------------------------- 






23:如何從數據庫讀取三天內的所有記錄 


首先表格裏要有一個DATETIME字段記錄時間, 
格式爲'2003-7-15 16:50:00' 


SELECT * FROM `xltxlm` WHERE TO_DAYS(NOW()) - TO_DAYS(`date`) <= 3; 




24:如何遠程鏈接Mysql數據庫 




在增加用戶的mysql表裏有一個host字段,修改爲"%",或者指定允許連接的ip地址,這樣,你就可以遠程調用了。 


$link=mysql_connect("192.168.1.80:3306","root",""); 




25:正則到底怎麼用 


點擊這裏 
正則表達式中的特殊字符 




26:用Apache後,主頁出現亂碼 




方法一: 
AddDefaultCharset ISO-8859-1 改爲 AddDefaultCharset off 


方法二: 
AddDefaultCharset GB2312 
======================================================== 
tip: 
大家貼代碼時GB2312會被解釋成?????? 


改成這樣就不會 
GB2312 


10:如何比較兩個日期相差幾天,(更簡單的算法) 




PHP代碼:-------------------------------------------------------------------------------- 


[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 天^_^"; 
[/php] 


-------------------------------------------------------------------------------- 








27:爲什麼單引號,雙引號在接受頁面變成('") 




解決方法: 
方法一:在php.ini中設置:magic_quotes_gpc = Off 
方法二: $str=stripcslashes($str) 




28:怎麼讓程序一直運行下去,而不是超過30秒就停止 




set_time_limit(60)//最長運行時間一分鐘 
set_time_limit(0)//運行到程序自己結束,或手動停止 




29:計算當前在線人數 


例子一:用文本實現 


PHP代碼:-------------------------------------------------------------------------------- 


[php] 
//首先你要有讀寫文件的權限 
//本程序可以直接運行,第一次報錯,以後就可以 
  $online_log = "count.dat"; //保存人數的文件, 
  $timeout = 30;//30秒內沒動作者,認爲掉線 
  $entries = file($online_log); 


  $temp = array(); 


  for ($i=0;$i<count($entries);$i++) { 
    $entry = explode(",",trim($entries[$i])); 
    if (($entry[0] != getenv('REMOTE_ADDR')) && ($entry[1] > time())) { 
    array_push($temp,$entry[0].",".$entry[1]."n"); //取出其他瀏覽者的信息,並去掉超時者,保存進$temp 
    } 
  } 


    array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout))."n"); //更新瀏覽者的時間 
  $users_online = count($temp); //計算在線人數 


  $entries = implode("",$temp); 
  //寫入文件 
  $fp = fopen($online_log,"w"); 
    flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些網絡文件系統中正常工作 
    fputs($fp,$entries); 
    flock($fp,LOCK_UN); 
    fclose($fp); 


    echo "當前有".$users_online."人在線"; 


[/php] 
-------------------------------------------------------------------------------- 


例子二: 
用數據庫實現在線用戶 




30:什麼是模板,怎麼用 




這裏有幾篇關於模板的文章 


我用的是phplib模板 
下面是其中幾個函數的使用 


$T->Set_File("隨便定義","模板文件.tpl"); 


$T->Set_Block("在set_file中定義的","<!-- 來自模板 -->","隨便定義"); 


$T->Parse("在Set_Block中定義的","<!-- 來自模板 -->",true); 


$T->Parse("隨便輸出結果","在Set_File中定義的"); 


設置循環格式爲: 


<!--(多於一個空格) BEGIN $handle(多於一個空格)--> 


如何將模板生成靜態網頁 


PHP代碼:-------------------------------------------------------------------------------- 


[php] 
//這裏使用phplib模板 
    ............ 
    ............ 
    $tpl->parse("output","html"); 
    $output = $tpl->get("output");// $output 爲整個網頁內容 




    function wfile($file,$content,$mode='w') { 
    $oldmask = umask(0); 
    $fp = fopen($file, $mode); 
    if (!$fp) return false; 
    fwrite($fp,$content); 
    fclose($fp); 
    umask($oldmask); 
    return true; 

    // 寫到文件裏 
    Wfile($FILE,$output); 
    header("location:$FILE");//重定向到生成的網頁 

[/php] 
-------------------------------------------------------------------------------- 






phplib下載地址 smarty下載地址 




31:怎麼用php解釋字符 


比如:輸入2+2*(1+2),自動輸出8 
可以用eval函數 


PHP代碼:-------------------------------------------------------------------------------- 


<form method=post action=""> 
<input type="text" name="str"><input type="submit"> 
</form> 
[php] 
$str=$_POST['str']; 
eval("$o=$str;"); 
Echo    "$o"; 
[/php] 


-------------------------------------------------------------------------------- 




另外,用此函數必須特別小心!! 
如果有人輸入format: d:會是什麼結果? 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章