Как сделать Вход в UWP с использованием PHP и MYSQL

Я хочу войти в систему и зарегистрироваться в моем приложении UWP, используя PHP и MySQL

Я использую этот код ниже, чтобы сделать это, но это не сработало

Я пробую много способов в интернете, но это так старо

Я делаю базы данных PHP и MySQL в локальном хосте xampp

Я новичок в PHP, поэтому, пожалуйста, кто-нибудь сказать мне ошибку в моем коде

Я использую этот код для POST-данных для обслуживания в UWP:

private async void Button_Click(object sender, RoutedEventArgs e)
{
Uri requestUri = new Uri("http://localhost/test/index.php");

HttpStringContent stringContent = new HttpStringContent
(" { \"email\": \"" + emailbox.Text + "\" , \"password\":\"" + passwordbox.Text + "\" } ", Windows.Storage.Streams.UnicodeEncoding.Utf8
, "application/json");

//Dictionary<string, string> pairs = new Dictionary<string, string>();
//pairs.Add("email", emailbox.Text);
//pairs.Add("password", passwordbox.Text);
//HttpFormUrlEncodedContent encodedContent = new HttpFormUrlEncodedContent(pairs);

Windows.Web.Http.HttpClient client = new Windows.Web.Http.HttpClient();

await client.PostAsync(requestUri, stringContent);
}

А это мой бэкэнд код PHP

config.php

<?php

define("DB_HOST","127.0.0.1");
define("DB_USER","root");
define("DB_PASSWORD","");
define("DB_NAME","firstdb");

?>

db_connect.php

<?php

include_once 'config.php';

class DbConnect{

private $connect;

public function __construct(){

$this->connect = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

if (mysqli_connect_errno($this->connect)){
echo "Unable to connect to MySQL Database: " . mysqli_connect_error();
}
}

public function getDb(){
return $this->connect;
}
}
?>

user.php

<?php

include_once 'db_connect.php';

class User{

private $db;

private $db_table = "users";

public function __construct(){
$this->db = new DbConnect();
}

public function isLoginExist($email, $password){

$query = "select * from ".$this->db_table." where email = '$email' AND password = '$password' Limit 1";

$result = mysqli_query($this->db->getDb(), $query);

if(mysqli_num_rows($result) > 0){

mysqli_close($this->db->getDb());return true;

}

mysqli_close($this->db->getDb());

return false;

}

public function isEmailUsernameExist($email){

$query = "select * from ".$this->db_table." where email = '$email'";

$result = mysqli_query($this->db->getDb(), $query);

if(mysqli_num_rows($result) > 0){

mysqli_close($this->db->getDb());

return true;

}

return false;

}

public function isValidEmail($email){
return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
}

public function createNewRegisterUser( $email, $password){

$isExisting = $this->isEmailUsernameExist($email);

if($isExisting){

$json['success'] = 0;
$json['message'] = "Error in registering. Probably the username/email already exists";
}

else{

$isValid = $this->isValidEmail($email);

if($isValid)
{
$query = "insert into ".$this->db_table." (email, password) values ('$email','$password')";

$inserted = mysqli_query($this->db->getDb(), $query);

if($inserted == 1){

$json['success'] = 1;
$json['message'] = "Successfully registered the user";

}else{

$json['success'] = 0;
$json['message'] = "Error in registering. Probably the username/email already exists";

}

mysqli_close($this->db->getDb());
}
else{
$json['success'] = 0;
$json['message'] = "Error in registering. Email Address is not valid";
}

}

return $json;

}

public function loginUsers($email, $password){

$json = array();

$canUserLogin = $this->isLoginExist($email, $password);

if($canUserLogin){

$json['success'] = 1;
$json['message'] = "Successfully logged in";

}else{
$json['success'] = 0;
$json['message'] = "Incorrect details";
}
return $json;
}
}
?>

index.php

<?php

require_once 'user.php';

$username = "";

$password = "";

$email = "";
if(isset($_POST['email'] && isset($_POST['password']))){

$email = $_POST['email'];

}

if(isset($_POST['password'])){

$password = $_POST['password'];

}$userObject = new User();

// Registration

if(!empty($password) && !empty($email)){

$hashed_password = md5($password);

$json_registration = $userObject->createNewRegisterUser($email, $hashed_password);

echo json_encode($json_registration);

}

// Login

if(!empty($password) && empty($email)){

$hashed_password = md5($password);

$json_array = $userObject->loginUsers($email, $hashed_password);

echo json_encode($json_array);
}
?>

0

Решение

Я бы порекомендовал вам использовать ввод пароля вместо видимой записи в вашем приложении, как PasswordBox. Попробуйте сделать ваш запрос таким.

var loginUrl = "http://localhost/test/index.php";

using (var client = new HttpClient())
{
var values = new Dictionary<string, string>
{ { "username", emailbox.Text }, { "password", passwordbox.Text } };

var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync(loginUrl, content);
string result = await response.Content.ReadAsStringAsync();
}
0

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

Других решений пока нет …

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