Android http发布到php脚本

时间:2012-02-28 07:17:14

标签: php android http

我使用以下代码将数据发布到我的服务器

HttpClient httpclient = new DefaultHttpClient();

                    HttpPost httppost = new HttpPost("http://www.kizikstudios.com/wltbo/new_score.php");


                    try {
                        // Add your data
                        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
                        nameValuePairs.add(new BasicNameValuePair("name", "harry"));
                        nameValuePairs.add(new BasicNameValuePair("score", "12345"));
                        nameValuePairs.add(new BasicNameValuePair("pass", "***"));
                        HttpEntity entity = new UrlEncodedFormEntity(nameValuePairs);

                        httppost.addHeader(entity.getContentType());
                        httppost.setEntity(entity);

                        // Execute HTTP Post Request
                        HttpResponse response = httpclient.execute(httppost);
                        String feedback = EntityUtils.toString(response.getEntity());
                        feedback.length();

                    } catch (ClientProtocolException e) {
                        // TODO Auto-generated catch block
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                    }

服务器正在接收post请求,但它说大小为零字节,并且我的数据库永远不会被更改。如果需要,这里是服务器端脚本。

<?
//****Made by: Jeroen den Haan***Alias's: jeroen84 / Jer'ul****
include_once ("_data.php");
$conn = mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_name,$conn);

if ($pass==$add_pass) {

if ($u_user==1) {

    $sql3 = "SELECT name FROM $db_table ORDER BY name";
    $result3 = mysql_query($sql3);
    while($r = mysql_fetch_object($result3)) 
{
    $tmp = "{$r->name}";
    if ($name==$tmp) {
        $n_exist=1;

    }
}
if ($n_exist==1) {
    $sql1 = "UPDATE $db_table SET score='$score' WHERE name=\"$name\"";
    $result1 = mysql_query($sql1);
} else {
    $sql1 = "INSERT INTO $db_table (name,score) VALUES (\"$name\",\"$score\")";
    $result1 = mysql_query($sql1);
}

} else {
$sql1 = "INSERT INTO $db_table (name,score) VALUES (\"$name\",\"$score\")";
$result1 = mysql_query($sql1);
}

$sql2 = "SELECT id FROM $db_table ORDER BY score DESC";
$result2 = mysql_query($sql2);

$num = 1;
while($r = mysql_fetch_object($result2))
{
$result = mysql_db_query($db_name,"SELECT * from $db_table WHERE id='{$r->id}'");
$resultArray = mysql_fetch_array($result);
$did = $resultArray["id"];
$name = $resultArray["name"];
$score = $resultArray["score"];
if ($num>$sec_size) {
$sql3 = "DELETE FROM $db_table WHERE id='$did'";
$result3 = mysql_query($sql3);
}
$num++;
}
}

mysql_close ($conn);
?>

有谁知道为什么这不起作用?提前谢谢!

1 个答案:

答案 0 :(得分:0)

php文件中哪些变量从其他脚本捕获post值?你可以var_dump()那些变量,看你是否得到你的php脚本的任何帖子值?