Как отправить данные формы в php, используя fetch в nativescript? - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь создать форму регистрации в своем приложении на nativescript, я использую fetch api для POST-данных. Но сейчас он просто заполняет базу данных без фактической загрузки данных. это то, что я пробовал

JS

const phpData = {
                email: "user@nativescript.org",
                password: "password",
                name: "Adekunle Adeyeye",
                number: "07019888741",
            }
            /*email = viewModel.getViewById("email").value;
            password = viewModel.getViewById("password").value;
            name = viewModel.getViewById("name").value;
            number = viewModel.getViewById("number").value;*/

            fetch("https://goodsbuy.000webhostapp.com/register.php", {
                method: 'POST',
                body: JSON.stringify(phpData),
                headers:{
                    "content-type": "application/json; charset=UTF-8"
                }
            })
            .then(response => response.json())
            .then(json => console.log(json))
            .then((phpData) => {
                console.log('Success:', phpData);
                this.set("processing", false);
                Toast.makeText("Successful").show();
                this.isLoggingIn = true;
              })
              .catch((error) => {
                console.error('Error:', error);
                this.set("processing", false);
                Toast.makeText("Account Already exists").show();
                this.isLoggingIn = false;
              });

PHP

$email = $_POST['email'];
$password = $_POST['password'];
$name = $_POST['name'];
$number = $_POST['number'];

$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
      $sql = "INSERT INTO comedyapp(`name`, `email`, `number`, `password`) VALUES ('$name', '$email', '$number', '$password')";
        if ($conn->query($sql) === TRUE) {
            echo '{"items":'. json_encode('Good') .'}'; 
        } else {
            echo '{"items":'. json_encode('Bad') .'}';
        }

Пожалуйста помоги мне.

1 Ответ

0 голосов
/ 28 января 2020

Замените

$email = $_POST['email'];
$password = $_POST['password'];
$name = $_POST['name'];
$number = $_POST['number'];

на

extract(json_decode(file_get_contents('php://input'),true));

, он автоматически объявит переменные.

...