0

test.phpページで、メソッドpostを使用してフォームを送信します。

С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"
}

パートコードページ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の内部サーバーエラーが発生します

ファイアバグで私は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('prod')をクラスに追加する方法を教えてください。

4

2 に答える 2

1

の代わりに$_POST('prod')、を使用します$_POST['prod']

それでも問題全体が解決しない場合は、特定のエラーメッセージについて詳細を追加する必要があります。500内部サーバーエラーは、PHPがSTDERRにいくつかのものを出力したことを意味するだけです。ログを確認してください。

于 2012-11-24T20:24:55.783 に答える
1

PHPに構文エラーがあります

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

代わりにこれを使用してください

  $prod=mysql_real_escape_string($_POST['prod']);
于 2012-11-24T20:25:38.827 に答える