#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