Android — как отправить значения SharedPreferences в файл php?

в основном я пытаюсь сделать следующее: я создаю приложение для входа в систему, использую базу данных, получаю токен этого устройства и сохраняю его базу данных, в то время как когда приложение установлено в устройство, токен сохраняется в базе данных, здесь я сохранить токен в SharedPreferences для последующего использования, а в следующем упражнении я использую имя пользователя и пароль из базы данных, а также я использую SharedPreferences для хранения значения для последующего использования,

Я хочу сохранить идентификатор пользователя, который дал имя пользователя и пароль при ведении журнала в базе данных, например, в токене, чтобы я мог узнать, кто токен устройства хранится в базе данных, я нашел способ сделать это используя php, я могу обновить определенный идентификатор пользователя, равный token colomn,

но моя проблема в том, что я не могу отправить имя пользователя, пароль, токен из активности Android в php-файл, но я могу получить имя пользователя, пароль, токен из SharedPreferences, используя тост, который я могу видеть, но не удалось отправить их в php файл.

мой вопрос, как отправить значение SharedPreferences в файл php?

мой код Android

    package com.example.calenderscheduler;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Reg_Token_Id extends AppCompatActivity {

String Name, Password, Token;
Context ctx = this;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

SharedPreferences mPrefs = getSharedPreferences("identifier", Context.MODE_PRIVATE);
Name = mPrefs.getString("Name", null);
Password = mPrefs.getString("Password", null);
Token = mPrefs.getString("Token", null);

Toast.makeText(Reg_Token_Id.this , " token"+Token , Toast.LENGTH_LONG).show();

SendDeviceDetails b =new SendDeviceDetails();
b.execute(Name,Password,Token);

}class SendDeviceDetails extends AsyncTask<String, String, String> {

@Override
protected String doInBackground(String... params) {

String data = "";
String name = params[0];
String password = params[1];
String Token = params[2];
int tmp;

try {
URL url = new URL("http://localhost/sample/Scheduler/register_token_userId.php");
String urlParams = "Name=" + name + "Password=" + password+ "Token=" + Token;

HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setDoOutput(true);
OutputStream os = httpURLConnection.getOutputStream();
os.write(urlParams.getBytes());
os.flush();
os.close();

InputStream is = httpURLConnection.getInputStream();
while ((tmp = is.read()) != -1) {
data += (char) tmp;
}

is.close();
httpURLConnection.disconnect();
return data;
} catch (MalformedURLException e) {
e.printStackTrace();
return "Exception: " + e.getMessage();
} catch (IOException e) {
e.printStackTrace();
return "Exception: " + e.getMessage();
}
}
}
}

и мой php файл для получения имени, пароля, токена

    <?php
require "init.php";

$Token = $_POST["Token"];
$Name = $_POST["Name"];
$Password = $_POST["Password"];
$user_id;
$Token_id;

// $Token = "fFQU08fqp98:APA91bGbLgJslCw8nN7NxvQnAV_Xz3RsRS76cn8DA2aysbVzG35yJZ9poCaxy9KkZ7SDm2ZhuhxVXJSv9POI5uSmFYZrkZ8kD79XmSP-0qAlafbyWM1gG9JW_7vdOTb-tSDitIXABDEK";
// $Name =  "rajesh";
//$Password ="1995";$Sql1 = "SELECT * FROM `user_info`
WHERE `name`='".$Name."' AND
`password`='".$Password."';";

$result1 = mysqli_query($con, $Sql1);

while($row = mysqli_fetch_array($result1))
{
$user_id =  $row['id'];}

$Sql2 = "SELECT * FROM `user`
WHERE `Token`='".$Token."'";

$result2 = mysqli_query($con, $Sql2);

while($row = mysqli_fetch_array($result2))
{
$Token_id =  $row['id'];

}$sql6 =  "UPDATE user SET Employeeid = '".$user_id."'  WHERE id =  " . $Token_id. " ";
$result6 = mysqli_query($con, $sql6);

mysqli_close($con);
?>

это моя таблица для хранения идентификатора

дав имя, пароль, токен, дав вручную, я могу хранить идентификатор, равный токену, но не могу получить их от активности Android.

Кто-нибудь может мне помочь с этим вопросом! Пожалуйста!

-1

Решение

Установите, какой метод запроса вы используете.
Вот так,

  HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
OutputStream os = httpURLConnection.getOutputStream();
0

Другие решения

ошибка произошла из-за & , я забыл использовать их между строкой urlParams!

код ошибки

URL url = new URL("http://localhost/sample/Scheduler/register_token_userId.php");
String urlParams = "Name=" + name + "Password=" + password+ "Token=" + Token;

правильный код

 URL url = new URL("http://localhost/sample/Scheduler/register_token_userId.php");
String urlParams = "Name="+name+"&Password="+password+"&Token="+token;
0

По вопросам рекламы [email protected]