POST和GET请求,在PHP

时间:2016-01-04 14:41:45

标签: java php ajax post get

我正在制作一个新的应用程序,并使用php作为服务器端的东西(记录数据)。我知道有POST和GET请求。但是我并不知道你使用哪一个很重要,当我意外地偶然发现一个页面并阅读它时,我才意识到这一点。目前我正在使用GET,我认为我应该使用POST。任何人都可以告诉我应该使用哪种类型的数据发送到服务器?像数字和字符串应该是私有的吗?

如果我应该使用POST,任何人都可以在php中给我看一个例子吗?我有一个player_count.php文件,当服务器收到它时,它会像这样进来http://typt.co.uk/api/send/player_count.php?username=USERNAME&secret_key=SECRET_KEY&player_count=5(example)当客户端变成POST请求时,它会如何发送?我怎么读取发送的数据?我只需将$ _GET ['username']更改为$ _POST ['username']吗?我不确定。

这是我当前的player_count.php文件:

<?php

function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
       $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}

include_once "connect_db.php";

$loc = ""; //set equal to just two "" to make it this directory!

$list=$_GET['list'];
$secret_key=$_GET['secret_key'];
$username=$_GET['username'];
$server_no=$_GET['servernum'];

$ip = get_client_ip();

$rs = mysql_query("SELECT * FROM users WHERE username='$username'");
if(mysql_num_rows($rs) == 0){
    echo("#-2");
    return;
}
$a_skey = '';
while($row = mysql_fetch_array($rs)) {
    $users_plan = $row['account_permission'];
    $a_skey = $row['secret_key'];
}
if($a_skey == null) $a_skey = '';

if(!($secret_key == $a_skey)){
    echo("#-1");
    return;
}

$sql = mysql_query("SELECT * FROM banned WHERE username='$username'");
if(mysql_num_rows($sql) >= 1){
    echo("#2");
    return;
}

$sql = mysql_query("SELECT * FROM locked WHERE username='$username'");
if(mysql_num_rows($sql) >= 1){
    echo("#3");
    return;
}

$sql = mysql_query("SELECT * FROM ipban WHERE IP='$ip'");
if(mysql_num_rows($sql) >= 1){
    echo("#4");
    return;
}

if($users_plan == 'free' && $server_no >= 2){
    echo("#1");
    return;
}else if($users_plan == 'personal' && $server_no >= 2){
    echo("#1");
    return;
}else if($users_plan == 'basic' && $server_no >= 2){
    echo("#1");
    return;
}else if($users_plan == 'premium' && $server_no >= 2){
    echo("#1");
    return;
}else if($users_plan == 'network1' && $server_no >= 6){
    echo("#1");
    return;
}else if($users_plan == 'network2' && $server_no >= 11){
    echo("#1");
    return;
}
$file = fopen("$loc$secret_key/player_list.txt","w");
fwrite($file,$list);
fclose($file);
echo "#0";
return;

?>

如果有人知道Java,我将如何从java发送POST请求?

1 个答案:

答案 0 :(得分:0)

首先关闭 - 如果您使用$_REQUEST代替$_GET,则可以使用 GET POST 方法

要从Java发送 POST 方法,如果您提供有关项目范围的更多详细信息,将会很有帮助。

HttpClient为您提供了相同的好例子。

This Blog包含一些基本的Java代码(不需要库)