Şimdiye kadar alınan verileri aşağıdaki diziden çekmek için birkaç yöntem denedim JAVA (print_r sonra ($ _ POST)):Değerleri çekme: {"katılıyor": 0, "eventid": 1, "userid": 1} PHP'de
{"attending":0,"eventid":1,"userid":1}
Ama hiçbir şans yaşıyorum, başka yollarla gibi ben SO ve tüm biraz farklı olan net etrafında buldum ('' ile çevrili ve [])
Kodum:
print_r($_POST);
$data = json_decode($_POST);
$userid = $data['userid'];
$eventid = $data['eventid'];
$attending = $data['attending'];
Sorum şu: Post'tan değerleri doğru bir şekilde nasıl çekerim ve bunları değerlere atarım?
PHP'ye yeni geldim, lütfen kaba yorum yapmayın. yorumlarda belirtildiği gibi
$data = json_decode($_POST, true);
ama şimdi olsun:
Ben de denedim
Warning: json_decode() expects parameter 1 to be string, array given in C:\xampp\htdocs\attendanceradio.php on line 9
var_dump ($ _ POST) ;:
Array
(
[{"attending":0,"eventid":2,"userid":1}] =>
)
array(1) {
["{"attending":0,"eventid":2,"userid":1}"]=>
string(0) ""
}
Tam PHP kodu:
<?php
$user = 'root';
$pass = '';
$db = 'testuser';
$con=mysqli_connect('localhost', $user, $pass, $db) or die('Unable to connect');
print_r($_POST['json']);
var_dump($_POST);
$json = json_decode(trim(key($_POST), '[]'), true);
var_dump($json);
$userid = $json['userid'];
$eventid = $json['eventid'];
$attending = $json['attending'];
$statement = mysqli_prepare($con,
'INSERT INTO user_has_event(user_user_id, event_event_id, attendance)
VALUES (?, ?, ?)
ON DUPLICATE KEY UPDATE attendance = ?');
mysqli_stmt_bind_param($statement, 'iii', $userid, $eventid, $attending);
mysqli_stmt_execute($statement);
mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement, $userid, $eventid, $attending);
mysqli_stmt_close($statement);
mysqli_close($con);
?>
Yapmanız gereken dizi: 'json_decode ($ _ POST, true)' – DarkBee
@PaulCrovella Bu soruya verdiğim cevapların benim kodumda zaten var olduğunun bir kopyası olduğunu sanmıyorum. Açıkça farklı bir problem yaşıyorum. – kmil
@PaulCrovella Bu sayfayı soruyu göndermeden önce okudum, başka bir şey istemedim. PHP için yeni olduğumu belirttim, lütfen daha yapıcı olabilir misiniz? – kmil