2012-11-24 68 views
0

在頁面test.php我發送表單與方法後。如何給類添加參數?

Сode頁test.php的

var_dump($_POST); 
error_reporting(E_ALL | E_STRICT); 
require('UploadHandler.php'); 
$upload_handler = new UploadHandler(); 

當我使用var_dump($_POST),我可以看到

array(1) { 
    ["prod"]=> 
    string(7) "4477535" 
} 

部分сode頁UploadHandler.php

class UploadHandler 
{ 
...... 
function add_img($img) 
    { 
    $prod=mysql_real_escape_string($_POST('prod')); 
    $add_to_db = $this->query("INSERT INTO prods (`prod`, `image`, `main`) VALUES ('$prod','".$img."','')") or die(mysql_error()); 
    return $add_to_db; 
    } 
... 
} 

當我使用此代碼我有500內部服務器錯誤

使用Firebug我看到POST

-----------------------------20037128598723 
Content-Disposition: form-data; name="prod" 

4477535 

-----------------------------20037128598723 
Content-Disposition: form-data; name="files[]"; 
filename="Penguins.jpg" Content-Type: image/jpeg 
... 
... 
... 
-----------------------------20037128598723-- 

請告訴我怎麼加$ _ POST( '刺')上課嗎?

+4

'500內部服務器Error'沒有充分描述發生了什麼錯誤,或者它發生在哪裏。至於傳遞'$ _POST('prod')'作爲參數,它是一個超全局的。它應該無處不在。 –

+1

'$ _POST'不是一個函數。 –

+0

我放鬆了,謝謝) – Loki

回答

1

你有語法錯誤在PHP

$prod=mysql_real_escape_string($_POST('prod')); 

使用這個代替

$prod=mysql_real_escape_string($_POST['prod']); 
+0

我放鬆了,謝謝) – Loki

1

而不是$_POST('prod'),請使用$_POST['prod']

如果不解決整個問題,你需要增加更多的細節,具體的錯誤信息是什麼。 500內部服務器錯誤只意味着PHP在STDERR上輸出了一些內容。檢查你的日誌。

+0

不需要。這個很好的幫助。我放鬆和寫(),而不是[]。 – Loki