0

在页面 test.php 上,我发送带有方法 post 的表单。

代码页 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 Internal Server Error 仅表示 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 回答