0

As a beginner ionic dev I really don't have enough knowledge about the back-end especially arrays. I hope you guys takes time to answer this.

register.php

<?php

if (isset($_SERVER['HTTP_ORIGIN'])) {
        header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
        header('Access-Control-Allow-Credentials: true');
        header('Access-Control-Max-Age: 86400');    // cache for 1 day
    }

    // Access-Control headers are received during OPTIONS requests
    if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
            header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         
        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
            header("Access-Control-Allow-Headers:        {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

        exit(0);
    }

  require "dbconnect.php";

    $data = file_get_contents("php://input");
    if (isset($data)) {
        $request = json_decode($data);
        $firstname = $request->firstname;
        $lastname = $request->lastname;
        $username = $request->username;
        $userrole = $request->userrole;
        $userpass = $request->userpass;
    }

$firstname = stripslashes($firstname);
$userpass = stripslashes($userpass);
$userpass = sha1($userpass."@la]#}^(dy*%-Ga=/,Ga!.");

$sql = "INSERT INTO useraccount (firstname, lastname, username, userrole, userpass)
        VALUES ('$firstname', '$lastname', '$username', '$userrole', '$userpass')";

if ($con->query($sql) === TRUE) {
    $status = "success";
    $message = "New account created successfully";
} 

else {
    $status = "fail";
    $message =  "Error: " . $sql . "<br>" . $con->error;
}

echo json_encode(array('status' => $status, 'message' => $message, 'data' => $data));

?>

enter image description here

enter image description here

Nick
  • 138,499
  • 22
  • 57
  • 95
frustrated-dev
  • 431
  • 6
  • 29

1 Answers1

2

One of those variables in your VALUES clause ($userrole) is actually an array of values. You need to either select one of them:

VALUES ('$firstname', '$lastname', '$username', '$userrole[0]', '$userpass')";

or find some way to convert the array to a string e.g. using implode:

VALUES ('$firstname', '$lastname', '$username', '" . implode(',', $userrole) . "', '$userpass')";
Nick
  • 138,499
  • 22
  • 57
  • 95
  • hi sir i have new post about my login if your available https://stackoverflow.com/questions/58164711/notice-undefined-index-username-in-c-xampp-htdocs-8990api-login-php-on-line-2 – frustrated-dev Sep 30 '19 at 09:13
  • https://stackoverflow.com/questions/58186916/undefined-variable-userpass-in-c-xampp-htdocs-8990api-login-php?noredirect=1#comment102755187_58186916 – frustrated-dev Oct 04 '19 at 04:56