Php API, POST не читает имя пользователя / пароль, которые я отправил через почтальона - PullRequest
0 голосов
/ 06 апреля 2020

Это php код

<?php
   $con=mysqli_connect("localhost","root","","my_db");

   $response = array();
    header('Content-Type: application/json');


   if (mysqli_connect_errno($con)) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
   }

   $username = $_POST['_username'];
   $password = $_POST['_password'];

   var_dump($_POST);
   $result = mysqli_query($con,"SELECT Role FROM user_details where 
   useremail='$username' and userpassword='$password'");
   $row = mysqli_fetch_array($result);
   $data = $row[0];

   if($data){
      echo $data;
   }

   mysqli_close($con);
?>

http://localhost/android_login_api/mycon.php?username=m@gmail.com&password=1234

Это дает следующую ошибку

Неопределенный индекс : username в C: \ xampp \ htdocs \ android_login_api \ mycon. php в строке 12

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

Благодарим вас за руководство по использованию xampp V3.2.4

1 Ответ

3 голосов
/ 06 апреля 2020

Вы получаете доступ к данным почты по ключам _username и _password

$username = $_POST['_username'];
$password = $_POST['_password'];

В то время как в почтальоне вы предоставляете http://localhost/android_login_api/mycon.php?username=m@gmail.com&password=1234 ie имя пользователя и пароль

Именно поэтому вы получаете неопределенный индекс ошибка на строке № 12 ie $ username = $ _POST ['_ username'];

Либо изменить на

$username = $_POST['username'];
$password = $_POST['password']; 

, либо изменить вызов на

http://localhost/android_login_api/mycon.php?_username=m@gmail.com&_password=1234

ОБНОВЛЕНИЕ:

На самом деле вы делаете это неправильно, API в PHP создается не так, как вы. Вот хороший учебник

Измените ваш код следующим образом, я удалил другие части

<?php
$data = json_decode(file_get_contents("php://input"));
echo('Name: ' . $data->username .'<br />');
echo('Password: ' . $data->password);
?>

и почтальона

enter image description here

...