POST를 사용하여 내 안드로이드 앱에서 일부 데이터 (문자열)를 추가하려고합니다. 나는 현재 Advanced Rest Client를 사용하여 코드를 테스트하고 있지만 거기에서 imput이 나온다.POST 데이터를 데이터베이스에 저장할 수 없습니다.
편집 : 내 질문이 무엇인지 명확하게하려면 - 값을 가져 오지 않고 할당하는 코드의 문제점은 무엇입니까? 왜 첫 번째 경우 건너 뛸까요?
EDIT 2 :이 POST를 테스트하기 위해 chrome.google.com/webstore/detail/advanced-rest-client/...를 사용하고 있습니다.
NOTES :
echo @name; - 아무것도하지 않고, 반향하지 않습니다.
지금은 필수 입력란이 누락되었다고 말하는 세 번째 입력을 자동으로 입력합니다.
$ name에 var_dump를 사용해 보았는데 다음과 같은 내용이 있습니다 : 예기치 않은 토큰 s =>이 말이 맞지 않습니다.
미리 답변 해 주셔서 감사합니다. 추가 정보가 필요하시면 기꺼이 제공해 드리겠습니다.
$app->post('/users', function() use ($app, $mysql) {
$name = $app->request->post('name');
$email = $app->request->post('email');
$beer_type = $app->request->post('beer_type');
$favorite_beer = $app->request->post('favorite_beer');
$favorite_drink = $app->request->post('favorite_drink');
echo $name;
if (!empty($name) and !empty($email) and !empty($beer_type) and !empty($favorite_beer) and !empty($favorite_drink)) {
$insert = "INSERT INTO clients(name, email) VALUES({$name}, {$email})";
$getid = "SELECT id_client FROM clients WHERE email = {$email}";
$insert2 = "INSERT INTO preferences(client_id, beer_type, favorite_beer, favorite_drink) VALUES({$idvalue}, {$beer_type}, {$favorite_beer}, {$favorite_drink})";
$request = $mysql->query($insert);
$test = false;
$id = 0;
$test2 = false;
if ($request !== false) {
$test = true;
}
if ($test === true) {
$request = $mysql->query($getid);
if ($request !== false) {
$id = $request->fetch_all(MYSQLI_ASSOC);
}
}
if ($id !== 0) {
$request = $mysql->query($insert2);
if ($request !== false) {
$test2 = true;
}
}
if ($test2 === true) {
// successfully inserted into database
$response["success"] = 1;
$response["message"] = "Product successfully created.";
// echoing JSON response
echo json_encode($response);
} else {
// failed to insert row
$response["success"] = 0;
$response["message"] = "Oops! An error occurred.";
// echoing JSON response
echo json_encode($response);
}
}else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
});
분명히 POST 코드가 좋지 않습니다. – greenapps
POST를 실제로 수행하는 코드를 제공해야합니다. –
@ dave.c 질문에 자세히 설명 했으므로 https://chrome.google.com/webstore/detail/advanced-rest-client/를 사용하고 있습니다. 이 POST를 테스트하려면 hgmloofddffdnphfgcellkdfbfbjeloo. 나는 다음과 같은 테스트 코드를 추가했다 : random name, [email protected], draft, Kwak, Green Apple 추가해야하는 5 가지 값. 내 안드로이드 코드도 필요하다면 제공 할 수는 있지만 아직 POST가 고급 휴식 클라이언트에서 작동하지 않는다면 아무런 문제가 없으므로 아직 교정하지 못했습니다. 다른 모든 링크는이 링크를 제외하고는 완벽하게 작동합니다. : \ – user3588546