Muslim Pribadi ~Sebuah usaha untuk menulis semaunya… Semampunya…

Lihat projects website saya lewat pranala ini

session_registered is Deprecated

Deprecated function pada PHP

Written in

oleh

session_registered is Deprecated
Deprecated: Function session_is_registered() is deprecated in

Pernah mendapatkan pernyataan:

Deprecated: Function session_is_registered() is deprecated in […]

ketika sedang  menjalankan kode  PHP? hal ini disebabkan oleh fitur Deprecated yang ditambahkan mulai PHP 5.3.x yang otomatis memberikan semacam notifikasi error jika beberapa fungsi atau variabel di gunakan.

Fungsi seperti session_is_registered() telah ditandai Deprecated mulai PHP 5.3.x dan tidak akan digunakan lagi mulai PHP 6.0.0, hal ini diperlukan untuk memutus beberapa fungsi lama yang dinilai memiliki celah keamanan atau performa (menurut pendapat penulis).

Dengan kata lain notifikasi error ini memberikan peringatan bagi para programmer PHP untuk tidak lagi menggunakan fungsi tersebut karena meskipun masih berjalan di PHP 5.3.x fungsi tersebut akan dihapus di PHP 6.0.0

Berikut adalah daftar direktive INI yang akan memicu error Deprecated:

  • define_syslog_variables
  • register_globals
  • register_long_arrays
  • safe_mode
  • magic_quotes_gpc
  • magic_quotes_runtime
  • magic_quotes_sybase
  • Komentar dengan ‘#’ juga termasuk Deprecated di-file .INI

Daftar fungsi yang akan memicu error Deprecated:

  • call_user_method() (gunakan call_user_func() saja)
  • call_user_method_array() (gunakan call_user_func_array() saja)
  • define_syslog_variables()
  • dl()
  • ereg() (gantinya gunakan preg_match() saja)
  • ereg_replace() (gantinya gunakan preg_replace() saja)
  • eregi() (gantinya gunakan preg_match() dengan ‘i’ modifier saja)
  • eregi_replace() (gantinya gunakan preg_replace() dengan ‘i’ modifier saja)
  • set_magic_quotes_runtime() dan alias-nya, magic_quotes_runtime()
  • session_register() (gantinya gunakan $_SESSION superglobal saja)
  • session_unregister() (gantinya gunakan $_SESSION superglobal saja)
  • session_is_registered() (gantinya gunakan $_SESSION superglobal saja)
  • set_socket_blocking() (gantinya gunakan stream_set_blocking() saja)
  • split() (gantinya gunakan preg_split() saja)
  • spliti() (gantinya gunakan preg_split() dengan ‘i’ modifier saja)
  • sql_regcase()
  • mysql_db_query() (gantinya gunakan mysql_select_db() dan mysql_query() saja)
  • mysql_escape_string() (gunakan mysql_real_escape_string() saja)
  • Melewatkan nama lokal kategori sebagai string sekarang deprecated. Gunakan konstanta dari LC_* saja.
  • Parameter is_dst pada mktime(). Gunakan fungsi timezone yang baru saja.

Fitur lain yang Deprecated:

  • Return value dari new lewat reference sekarang deprecated.
  • Call-time pass-by-reference sekarang deprecated.

Me-non-aktifkan error Deprecated

PHP.ini
PHP.ini Gunakan CTRL+F untuk mencari error_reporting

Hal ini tidak mengubah bahwa fungsi tersebut tetap akan dihapus di PHP 6.0.0 namun setidaknya dapat menghilangkan notifikasi error yang merusak tampilan :p

Buka php.INI lalu sesuaikan nilai error_reporting menjadi:

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

yang artinya, tampilkan semua error kecuali notice level dan deprecated level simpan php.ini dan restart Apache.

Selamat mencoba, semoga bermanfaat 😉

(Adaptasi dari PHP doc | http://php.net/manual/en/migration53.deprecated.php)

34 tanggapan untuk “Deprecated function pada PHP”

  1. Irfan Handi Avatar
    Irfan Handi

    Masih Binun Mas. 🙄

    1. MuslimPribadi Avatar

      Jangan dibikin binun 😉

  2. Idah Ceris Avatar

    hehehe. . .

    kak muslim pinteeeeeeeeer. . .

    pooooooooool. . . 🙂
    Pingin belajar PHP tapi ribeet. 😦

    1. MuslimPribadi Avatar

      PHP termasuk bahasa pemrograman yang mudah dimengerti namun powerful, tapi memang instalasi dan ketergantungan dengan aplikasi lain membuat agak ribet. Nanti setelah dijalani dan melihat hasilnya, pasti ketagihan pengen belajar lagi.

      FYI Facebook, WordPress dan situs2 populer lainnya banyak yg dibuat dengan PHP 😉

  3. Idah Ceris Avatar

    iyya si kak. . .
    tapi tentang bahasa codingnya yang agak belum nyantol. . .
    pas dapat tugas tentang buku tamu berserta web sederhana pake PHP aja sudah cenat-cenuut. . . 😦

    kak muslim, terimakasih bangeet ya. . .link Langkah Catatanku duduk di Direktori Blog. . .suatu kebahagiaan buat idah.
    ikut baca disni yuk kak. . .

    Alhamdulillah, Akhirnya Idah dapat Page Rank dari simbah.

  4. ant Avatar

    Pagi mas muslim, saya ingin menyebar luaskan Artikel ini ya mas? Saya rasa ini penting….. Mohon Ijin………..!!!!hehehe……
    Salam,

    1. MuslimPribadi Avatar

      Silahkan. Jangan lupa link artikelnya disertakan ya 🙂

  5. andrian75 Avatar

    wah pantesan, lagi nyobe session muncul notifikasi error ini terus..

    sempat bingung kenapa fungsi ini mau dihapus, btw terima kasih info konfigurasinya 🙂

    1. andrian75 Avatar

      oh ya sekalian tanya, kalau fungis session_register() bakalan dihapus trus untuk kedepannya bakalan pakai fungsi seperti apa?

      1. MuslimPribadi Avatar

        Bisa dengan melakukan pengecekan variable GLOBAL $_SESSION[] dengan menggunakan fung isset(). Contoh: !isset($_SESSION['ID'])
        Cek juga disini: https://muslimpribadi.wordpress.com/2011/04/08/belajar-php-bagian-3-membuat-halaman-login-dan-logout-menggunakan-session/2/

  6. muhammadiqbalm Avatar

    salam kenal nih gan:) kunjungan balik ya gan, dan jangan lupa post komentar dan follback nya ya:)

  7. Afifuddin Avatar
    Afifuddin

    Thanks gan informasinya,
    saya juga mengalami pesan error seperti di atas gara2 menggunakan syntax “session_register() dkk”. Saya sudah mengubah php.ini seperti instruksi di atas, memang pesan tidak keluar lagi, tetapi beberapa menu di aplikasi saya malah tidak berfungsi. itu kenapa gan?

    1. MuslimPribadi Avatar

      Kalau versi php yg digunakan adalah 6 maka session_register() sudah tidak ada. Jadi cek versi php yg dipakai dan ubah kodenya.
      Semoga membantu 😉

  8. man Avatar
    man

    pagi mas, saya mau nanya gimana perbaikan kalau codingan sblmnya seperti ini :

    <?php session_start() ; //memulai suatu session

    if ((session_is_registered("nik"))&& (session_is_registered("password")) && (session_is_registered("status")))
    //mengecek sesi yang sudah terintegrasi
    {
    if ($_SESSION["status"] == "dosen")
    {
    header("location: perwalian/mahasiswa/mahasiswa.php");
    exit();
    //jika status pengakses sbg mahasiswa arahkan ke/mahasiswa.php
    }
    else
    {
    if ($_SESSION["status"] == "Admin")
    {
    header("location: perwalian/admin/admin.php");
    exit();

    1. MuslimPribadi Avatar

      bisa menjadi seperti ini:
      if ( !isset("nik") && !isset("password") && !isset("status") ){
      echo "Session expired";
      exit();
      }

      1. man Avatar
        man

        makasih pencerahannya mas… sedikit beda sih. tapi bisa mencerahkan 😀
        jadinya seperti ini :

        if (isset ($_SESSION[‘nik’]) && isset($_SESSION[‘password’]) && isset($_SESSION[‘status’]))
        //mengecek sesi yang sudah terintegrasi

  9. Terry Purwanto Avatar

    Terimakasih banyak mas…SANGAT MEMBANTU SEKALI

  10. Lutfi Avatar
    Lutfi

    = “4.1.0”)
    {

    session_unregister(“admintest”);

    session_unregister(“current_admin”);
    }

    session_register(“admintest”);

    session_register(“current_admin”);

    }
    else if ((!$admintest) || (!$current_admin))
    {

    if(phpversion() >= “4.1.0”)
    {

    session_unregister(“admintest”);

    session_unregister(“current_admin”);
    }

    session_register(“admintest”);
    session_register(“current_admin”);

    }

    global $admintest, $current_admin;

    ?>

    pada open_session.php saya begini mas,dan itu pun masih menimbulkan error yang banyak..
    nah saya sudah ganti error reporting pada php.ini menjadi
    “error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED”
    tapi tetap saja masih ada error seperti itu..
    mohon pencerahannya mas..

  11. Eko Wardoyo Avatar

    bingung bingung bingung

  12. mamonamoma Avatar
    mamonamoma

    beeehhhhh… akhirnya ketemu juga biang kringet akar masalah nya …
    tengkiu banget nih pak bos…. udah share ni artikel mudah2an pak bos makin jadi master di php biar share banyak ilmu di mari 😀

    1. MuslimPribadi Avatar

      hhaahah. Thanks 🙂

  13. Deprecated Function Pada PHP | IT Training Avatar

    […] Ditulis Oleh Muslim Pribadi M. (Instruktur Binus center bandung) Baca tulisan aslinya di https://muslimpribadi.wordpress.com/2012/01/27/deprecated-function-pada-php/ […]

  14. agostinhomoreira Avatar

    halo sobat yg mbaca sms ini. aku pengen nanya ni. kenapa ya internet di hpku jadi error semua?

  15. Syukron Avatar
    Syukron

    Jika Return value dari new lewat reference sekarang deprecated. Biar gg deprecated diapakn mas? Trims jk mau membantu.

  16. Syukron Al-Luthfi Muhammad Avatar

    Mas saya mau men-split ini:
    split(“:”,gmdate(‘s:i:G:j:w:n:Y:z:l:F:U’,is_null($ts)?time():$ts))
    kalu menggunakan preg_split bagaimana ya? mohon bantuannya

  17. anto Avatar
    anto

    sembah sujud………

  18. Andriawan Avatar
    Andriawan

    om klo ngakalin nya di hosting gimana ?

    1. MuslimPribadi Avatar

      Kalo biar ga keluar warning bisa pakai @ di awal fungsi. Silent mode. Contoh: @ereg_replace();

  19. mujiany Avatar

    maaf sebelumnya mas, bila pertanyaan saya tak sesuai topik, saya baru belajar bikin web, database sudah dibuat, script sudah di install ke hosting, ketika diakses sudah bisa jalan, tetapi sewaktu login ke page admin, tidak bisa masuk, login member area juga gk bisa, padahal record admin juga member pertama suda ada. mohon solusinya.
    link web saya sudah sy cantumkan. terimakasih

    1. MuslimPribadi Avatar

      Widih panjang nih ceritanya. Kemungkinan ada kesalahan logika di scriptnya, bisa juga di koneksi databasenya. Coba tes dengan script sederhana memanggil record dulu, lalu periksa lagi logika script loginnya.
      Semoga membantu

  20. abipri Avatar
    abipri

    bacaan ini sangat bermanfaat

  21. nurmila Avatar
    nurmila

    terima kasih….. bacaaannya bermanfaat sekalii….:D

Tinggalkan Balasan ke Idah Ceris Batalkan balasan