Input php file_get_contents json_decode tidak berfungsi

Halo Saya mencoba menerima dalam format json daftar semua domain tetapi tidak berhasil, saya hanya menerima 0

Dukung ยป . WP Webhooks - Buat alur kerja otomasi yang kuat langsung di dalam WordPress ยป akses postingan data json objek setelah pemicu create_user

akses posting data objek json setelah pemicu create_user

  • r123ze

    (@r123ze)


    2 tahun, 2 bulan yang lalu

    dapatkah seseorang membantu saya, saya ingin mengakses nilai setelah memicu create_user

    saya punya url di webhook WP seperti ini

    http. //localhost/api/panggilan. php

    setelah pengguna baru mendaftar, saya ingin memasukkan emailnya ke dalam file txt

    panggilan. file php

    $data = json_decode( file_get_contents('php://input'), true);
    $email = $data->data->email;
    $file = "emails.txt";
    file_put_contents($file, $email);

    saya pikir $data->data->email adalah nol, bagaimana cara mendapatkan data, saya juga mencoba foreach tetapi tidak berfungsi. ada bantuan?

    Halaman yang saya perlu bantuan. [masuk untuk melihat tautan]

Melihat 5 balasan - 1 sampai 5 (dari total 5)

  • Pemulai Utas r123ze

    (@r123ze)

    saya lupa, file txt dibuat tapi selalu kosong

    Pengarang Plugin Ironikus

    (@ironikus)

    Hai @r123ze โ€“ terima kasih telah menghubungi. ๐Ÿ™‚

    Karena kode yang Anda berikan di atas benar-benar independen dari plugin kami, saya akan memberikan contoh berdasarkan kebutuhan Anda
    Karena Anda ingin memecat kode setelah tindakan create_user diaktifkan, saya sarankan Anda menggunakan argumen do_action. Ini memungkinkan Anda untuk mengaktifkan kode khusus secara langsung setelah pengguna dibuat
    Inilah yang perlu Anda lakukan

    1. Tetapkan argumen do_action dan sebagai nilai, sertakan add_txt_file
    2. Setelah selesai, harap sertakan kode berikut ke dalam fungsi Anda. file php.
      add_action( 'add_txt_file', 'add_custom_txt_file', 10, 2 );
      function add_custom_txt_file( $user_data, $user_id ){
      
      	//Get the response body from the incoming request
      	$response_body = WPWHPRO()->helpers->get_response_body();
      
      	//Grab the email from the incoming request
      	$email = WPWHPRO()->helpers->validate_request_value( $response_body['content'], 'user_email' );
      
      	//Fire your custom logic
      	$file = "emails.txt";
      	file_put_contents( $file, $email );
      }
      _

    Kode ini akan mengambil email dari lapisan pertama muatan, yang dikirim ke titik akhir webhook, dan menambahkannya ke file
    Tolong dicatat. Jika kunci tempat Anda menyimpan email berbeda dengan email_pengguna, harap sesuaikan dalam fungsi validate_request_value()

    Saya harap ini membantu Anda sejauh ini. Jangan ragu untuk memberi tahu saya jika Anda memiliki pertanyaan lebih lanjut. ๐Ÿ™‚

    • Balasan ini telah diubah 2 tahun, 2 bulan lalu oleh Ironikus .

    Pemulai Utas r123ze

    (@r123ze)

    Hai @ironikus,

    terima kasih atas balasan cepat Anda

    Masalahnya adalah saya tidak ingin melakukannya di wordpress, tetapi di url eksternal lain yang saya masukkan ke plugin wp webhooks

    Saya pikir plugin wpwh dipecat setelah terdaftar karena membuat email. file txt, tetapi saya tidak mendapatkan email untuk menyimpannya dalam file txt

    Ketika mencoba kode pertama saya di atas, saya selalu menemukan emailnya. txt kosong. Tetapi ketika saya mengubahnya menjadi ini

    $data =  file_get_contents('php://input');
    $file = "emails.txt";
    file_put_contents($file, $data);

    Saya mendapatkan semua data dalam file seperti format ini, tetapi saya hanya ingin mendapatkan email atau nama pengguna dari pengguna terdaftar

    {"data":{"ID":"36","user_login":"r123ze","user_pass":"$P$BXnUKsyaZXj3tVBgZ00Wbb9E6HHfK0.","user_nicename":"r123ze","user_email":"[email protected]","user_url":"","user_registered":"2020-11-12 08:48:04",....

    Jika dihapus json_decode, create_user dipecat dan buat file txt dengan data ini, tetapi jika saya meletakkan json_decode, itu tidak membuat file txt dan tidak berfungsi. dapatkah Anda memberi tahu saya cara memperbaikinya?

    Terima kasih banyak. ๐Ÿ™‚

    Pemulai Utas r123ze

    (@r123ze)

    Menurut nilai keluar, format json adalah

    Array
    (
        [data] => Array
            (
                [ID] => 1
                [user_login] => admin
                [user_pass] => $P$BVbptZxEcZV2xDLyYeN.O4ZeG8225d.
                [user_nicename] => admin
                [user_email] => [email protected]
                [user_url] => 
                [user_registered] => 2018-11-06 14:19:18
                [user_activation_key] => 
                [user_status] => 0
                [display_name] => admin
            )
    ...

    Jadi, jika saya ingin mengaksesnya, apakah saya perlu menggunakan oop atau array php multidimensi?

    $json->data->user_email;_
    atau
    $json['data']['user_email']

    saya ingin mengaksesnya seperti object oop $json->data->user_email;

    Pengarang Plugin Ironikus

    (@ironikus)

    Hai @r123ze

    Dengan contoh yang diberikan, Anda memformat JSON yang didekodekan menjadi array (untuk itulah parameter kedua. Silakan lihat https. // www. php. net/manual/de/fungsi. json-decode. php untuk itu

    Bagaimana cara menggunakan file_get_contents ('masukan php')?

    File_get_contents() membaca file menjadi string . Fungsi ini adalah cara yang disukai untuk membaca isi file menjadi string. Ini akan menggunakan teknik pemetaan memori, jika didukung oleh server, untuk meningkatkan kinerja.

    Bagaimana cara mendapatkan input JSON di php?

    PHP dan JSON .
    Fungsi json_encode() digunakan untuk menyandikan nilai ke format JSON
    Fungsi json_decode() digunakan untuk mendekode objek JSON menjadi objek PHP atau array asosiatif
    Fungsi json_decode() mengembalikan objek secara default. .
    Anda juga dapat mengulang nilai dengan loop foreach()

    Bagaimana cara mencetak data posting JSON di php?

    Apa yang dimaksud dengan input php?

    php. //input adalah aliran hanya-baca yang memungkinkan Anda membaca data mentah dari badan permintaan . php. //input tidak tersedia dengan enctype="multipart/form-data".