slims / slims7_cendana

SLiMS 7 Cendana official source code repository
28 stars 49 forks source link

Visitor Counter : record tidak masuk database #4

Open awriel opened 11 years ago

awriel commented 11 years ago

Ketika member yang mempunyai nama mengandung karakter ' (contohnya nur'aeni) memasukkan ID di visitor counter, ternyata record tidak masuk di database. Padahal di visitor counter sudah muncul "Nur'aini Sofiyah, thank you for inserting your data to our visitor log".

Dan setelah saya cek, ternyata hal tersebut sudah berlangsung dari sejak pertama saya menggunakan visitor counter (tahun 2010).

Dan saya cek untuk nama yang lain yang mengandung ' juga mengalami hal yang sama. Tapi hal tersebut tidak terjadi apabila visitor counter diisi oleh Nur'aini yang menjadi Non-Member (record masuk database) .Hal tersebut baru diketahui ketika saya dan Ido Alit membuat kustomisasi untuk memaksa setiap user agar mengisi visitor counter sebelum melakukan transaksi.

Solusi yang akhirnya ditemukan sementara oleh Ido Alit adalah menambahkan 1 baris script pada ./lib/contents/visitor_count.php

$member_name = preg_replace("/'/", "\'", $member_name);

sehingga menjadi :

// if member is already registered if ($_q->num_rows > 0) { $_d = $_q->fetch_assoc(); if ($_d['is_expire'] == 1) { $expire = 1; } $member_id = $_d['member_id']; $member_name = $_d['member_name']; $member_name = preg_replace("/'/", "\'", $member_name); //added by Ido Alit feat. Awriel $photo = trim($_d['member_image'])?trim($_d['member_image']):'person.png'; $_institution = trim($_d['inst_name'])?"'".$_d['inst_name']."'":'NULL'; $_checkin_date = date('Y-m-d H:i:s'); $_i = $dbs->query("INSERT INTO visitor_count (member_id, member_name, institution, checkin_date) VALUES ('$member_id', '$member_name', $_institution, '$_checkin_date')"); } else {

Mungkin SDC punya solusi lebih baik dari ini.

Terima kasih

mucill commented 11 years ago

Cara ini sudah benar mas. Terima kasih infonya dan solusinya.

buitenzorg812 commented 11 years ago

kutu ini masih terjadi. sudah ada yang memperbaiki?

mucill commented 11 years ago

Udah ane naikin gan - Please check :)

awriel commented 11 years ago

Maaf nemu lagi di field Institution. Kalau Institusi mengandung Apostrof juga tidak bisa masuk ke database. Contoh : Kelas Syari'ah. Colek @mucill

mucill commented 11 years ago

Siap Om Awriel - sudah ane benerin ya. Terima kasih informasinya