У меня странная проблема, решение которой я не смог найти. Я повторно посетил старый код, который отлично работал в прошлом, но теперь почему-то он не работает должным образом.
Проект представляет собой приложение для Android, связанное с базой данных. У меня есть вход в систему, где будет выполняться почтовый запрос, чтобы проверить, существует ли пользователь в базе данных. Проблема в том, что параметры, отправленные с запросом на отправку, на самом деле не отправляются.
Разбирая код андроида, я пытался протестировать почтовый запрос отдельно. Я использую wampserver 3.1.4
с PHP 5.6.3
, MySQL 5.7
и Apache 2.4
. Для получения параметров из запроса на публикацию я использую этот фрагмент кода:
$username = null;
$password = null;
var_dump($_POST);
if (isset($_POST['PARAM_EMAIL']))
$username = $mysqli->real_escape_string($_POST['PARAM_EMAIL']);
if (isset($_POST['PARAM_PASSWORD']))
$password = $mysqli->real_escape_string($_POST['PARAM_PASSWORD']);
я использовал postman
для проверки запроса и var_dump()
для проверки содержимого параметров.
Вот пример того, как я написал запрос и какой результат я получил:
<code> http://192.168.2.103/GestionDesCamions/check.php?PARAM_EMAIL=user@xx.com&PARAM_PASSWORD=xx
<pre class='xdebug-var-dump' dir='ltr'>
<small>C:\wamp64\www\GestionDesCamions\check.php:12:</small>
<b>array</b>
<i>(size=0)</i>
<i>
<font color='#888a85'>empty</font>
</i>
ложь
он говорит, что пост-запрос не содержит никаких параметров, поэтому в итоге я получил false, потому что пользователь не может быть найден.
Я использовал! Empty () вместо isset () и получил тот же результат. Я проверял другие запросы, в частности запросы GET, и они работают нормально. Любая идея, как я могу решить эту проблему? Я использую Windows 10 в качестве операционной системы.
РЕДАКТИРОВАТЬ:
вот метод POST, который я использую в своем приложении для Android:
public boolean SendToUrl(String strURL,
ArrayList<NameValuePair> nameValuePairs) {
// Creer un buffer
StringBuilder builder = new StringBuilder();
// Creer un client Http
HttpClient client = new DefaultHttpClient();
// Creer un obejet httppost pour utiliser la methode post
HttpPost httppost = new HttpPost(strURL);
try {
// UrlEncodedFormEntit() : An entity composed of a list of
// url-encoded pairs
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// recuperer la reponse
HttpResponse response = client.execute(httppost);
StatusLine statusLine = response.getStatusLine();
// recuperer le ack
int statusCode = statusLine.getStatusCode();
// si ack =200 connexion avec succee
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
} else {
// erreur du chargement
Toast.makeText(_mContext, "pas de connexion", Toast.LENGTH_LONG)
.show();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return Boolean.parseBoolean(builder.toString());
}