Я пытаюсь выполнить вход в систему и использую этот код Android и PHP
== код Android для входа в систему ==
public void OnLogin(View v) {
List<NameValuePair> params_login = new ArrayList<NameValuePair>();
params_login.add(new BasicNameValuePair("masterUsername", masterUsernameEDT.getText().toString()));
params_login.add(new BasicNameValuePair("masterPassword", masterPasswordEDT.getText().toString()));
HTTPConnection hp = new HTTPConnection("192.168.1.35",this); //server ip + current context
String url_login = "http://"+hp.ip+"/_masterpassword_php/checkLogin.php";
String result_login = hp.getHttpPost(url_login,params_login);
---------so on--------
== HTTPconnection ==
public class HTTPConnection {
String ip = "localhost";
Context previousPage ;
HTTPConnection (String getIP, Context context)
{ ip = getIP ;
previousPage = context ;
}
public String getHttpPost(String url,List<NameValuePair> params) {
StringBuilder str = new StringBuilder();
HttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
final AlertDialog.Builder a2 = new AlertDialog.Builder(previousPage); //***
a2.setMessage("In getHttpPost @ HTTPConnection \nurl: "+url+"\nparams: "+params);
a2.show();
try {
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = client.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200) { // Status OK
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
str.append(line);
}
} else {
Log.e("Log", "Failed to download result..");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
final AlertDialog.Builder a3 = new AlertDialog.Builder(previousPage); //***
a3.setMessage("IOException : "+e);
a3.show();
e.printStackTrace();
}
final AlertDialog.Builder a1 = new AlertDialog.Builder(previousPage); //***
a1.setMessage("json_get : "+str.toString());
a1.show();
return str.toString();
}
}
* Однажды я проверил это в школе. Это можно использовать (неделю назад)
Я попробовал еще раз вчера после того, как я уже обновил операционную систему моего телефона (OPPO F1) и перешел на работу по дому. Выкидывается IOException *
Исключение говорит «тайм-аут соединения» и ничего не возвращено
Я уже изменил свой IP-адрес в коде наверняка. Используя IP get, введите в командной строке «ipconfig».
Он все еще пригоден для использования и показывает правильный ответ, когда я проверял PHP, поэтому я думаю, что это не может быть проблемой с кодом PHP, но я выложу его здесь.
<?php require "connection.php";
//$_POST["masterUsername"] = "test1"; // for Sample
//$_POST["masterPassword"] = "test1"; // for Sample
$masterUsername = $_POST["masterUsername"];
$masterPassword = $_POST["masterPassword"];
$strSQL = "SELECT * FROM masteraccount WHERE 1
AND masterUsername = '".$masterUsername."'
AND masterPassword = '".$masterPassword."'
";
//echo $strSQL;
$objQuery = mysql_query($strSQL) or die(mysql_error());
$objResult = mysql_fetch_array($objQuery);
$intNumRows = mysql_num_rows($objQuery);
if($intNumRows==0) {
$arr['status'] = "0";
$arr['accountID'] = "0";
$arr['error'] = "Incorrect Username and Password";
}
else {
$arr['status'] = "1";
$arr['accountID'] = $objResult["accountID"];
$arr['error'] = "-";
}
/**
$arr['status'] // (0=Failed , 1=Complete)
$arr['accountID'] // accountID
$arr['error'] // Error Message
*/
mysql_close($connection);
echo json_encode($arr);
?>
Результат, показанный в приложении для Android, — ничто, но он все еще показывает, когда пытался запустить PHP Script, набрав «http://192.168.1.35/_masterpassword_php/getAccountID.php«прямо в адресную строку.
Спасибо за помощь. Извините за испорченный код. Я изо всех сил пытался решить это самостоятельно, чтобы в коде было много комментариев.
Задача ещё не решена.
Других решений пока нет …