Как выбрать данные из БД с помощью угловой переменной в php

#php #mysql #angularjs

#php #mysql #angularjs

Вопрос:

Я хочу написать запрос select на php, чтобы получить данные из базы данных, используя переменную из интерфейса. Другими словами, мне нужно сделать что-то вроде этого: ВЫБЕРИТЕ электронную почту ОТ пользователей, ГДЕ token = ‘$token’ Что у меня есть в настоящее время, у меня есть код, который отправляет мои переменные в серверную часть:

 app.controller('customersCtrl', function($scope, $http,$templateCache) {
    $scope.subscribe = function (gameId){
        $scope.codeStatus = "";
        $http({
            url: "php/test.php",
            method: "POST",
            data: {
                userId: JSON.parse(localStorage.getItem('loggedUserInfo')),
                gameId: gameId,
                token:JSON.parse(localStorage.getItem('token'))
            },
            headers: {'Content-Type': 'application/x-www-form-urlencoded'},
            cache: $templateCache
        }).success(function(response) {
            $scope.codeStatus = response.data; 
            console.log(response);
        });

    };

});
  

А вот мой php-код:

 <?php
$lnk = mysql_connect('localhost', 'root', '')
    or die ('Not connected : ' . mysql_error());

mysql_select_db('pitch', $lnk) or die ('Can't use db : ' . mysql_error());

$data = json_decode(file_get_contents("php://input"));
$token=$data->token;   

$dump1 = mysql_query("SELECT email FROM users where token = '$token' ");

if(!$dump1) exit("Error - ".mysql_error()); 
$getList = array(); 
$outp = "";
while ($row = mysql_fetch_assoc($dump1)) { 
    $relations = array();
    $getList[] = $row;
}
$output = json_encode(array('users' => $getList));

echo $output; 
?>
  

Самое странное для меня то, что когда я пытаюсь перейти по url localhost/php/test.php Я получаю уведомление: Пытаюсь получить свойство не-объекта в /Applications/XAMPP/xamppfiles/htdocs/php/test.php в строке 8, что означает, что я предполагаю, что $token пуст, но когда я console.log(response) в angular, он показывает мне мойтокен в консоли, который, я думаю, означает, что данные из интерфейса были переданы на серверную часть. Или я неправильно понимаю?

Буду очень благодарен за помощь!

Комментарии:

1. Проблема была решена с помощью файлов cookie вместо того, чтобы пытаться получить данные из локального хранилища.

Ответ №1:

первым делом попробуйте var_dump($_POST) или попробуйте var_dump($data) на вашем test.php