อยากทราบวิธีการแก้ไข้การเรียกใช้งาน image avatar เพื่อแสดงรูปผู้ใช้งาน phpbb

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 2327
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

อยากทราบวิธีการแก้ไข้การเรียกใช้งาน image avatar เพื่อแสดงรูปผู้ใช้งาน phpbb

โพสต์โดย Ittichai_chupol » 17/05/2019 10:12 am

ผมได้สร้าง Extension ที่มีไว้สำหรับกด ถูกใจโพสต์ โดยหากมีโพสต์ไหนได้รับการกดถูกใจ ก็จะมีการแสดงจำนวนการเข้ามากดถูกใจ

และนอกจากนี้ผุ้ใช้งานคนสามารถตรวจสอบได้ว่ามีใครมากดถูกใจโพสต์นั้นบาง ซึ่งเมื่อกดดุก็จะพบว่ามีการแสดงรูปภาพประจำตัวผู้ใช้งานคนนั้น(กรณ๊ที่มีการใช้งาน)

แต่เมื่อผมได้ทดลองทำก็พบว่า ไม่มีการแสดงรูปภาพประจำตัวใช้งานขึ้นมา

Selection_999(1443).png
Selection_999(1443).png (9.1 KiB) เปิดดู 268 ครั้ง



แล้วผมได้ตรวจสอบโดยการ inspect ดูพบว่ามีการเรียกที่อยู่ข้อมูลผิด

Selection_999(1444).png
Selection_999(1444).png (30.26 KiB) เปิดดู 268 ครั้ง



โดยส่วนที่ใช้ในการแสดงรูภาพในโคด คือ AVATAR_LIKE
และนี้คือ code ที่ผมใช้งาน ครับ

โค้ด: เลือกทั้งหมด


                if (strlen($topic) > 1) {
                    $numlike = substr($topic, -1);
                } else {
                    $numlike = $topic;
                }

                $sql = ' SELECT * FROM ' . $this->table_prefix . 'm_like' . $numlike . ' WHERE post_id=' . $post;
                $result = $this->db->sql_query($sql);
                $username = $user_show_all = $like_time = '';

                while ($row = $this->db->sql_fetchrow($result)) {
                    $user_id[] = $row['user_id'];
                    $user_show[$row['user_id']] = $row['username'];
                    $like_time[$row['user_id']] = $row['like_time'];
                }

                $sql_image = 'SELECT user_colour,user_id, user_avatar ,user_avatar_type,user_avatar_width ,user_avatar_height
               FROM ' . USERS_TABLE . '
               WHERE ' . $this->db->sql_in_set('user_id', $user_id);
                $result_image = $this->db->sql_query($sql_image);


                while ($row_image = $this->db->sql_fetchrow($result_image)) {
                    $login_auto_phpbb_avatar = phpbb_get_user_avatar($row_image);
                   
                    //echo $login_auto_phpbb_avatar;
                    $data[$row_image['user_id']] = $login_auto_phpbb_avatar;
                    $user_color[$row_image['user_id']] = $row_image['user_colour'];
                }
                $url_user = generate_board_url();
               
               
                foreach ($user_id as $id) {

           

                    $this->template->assign_block_vars('user_all', array(
                        'LINK_USER_NAME' => $url_user . '/' . append_sid("memberlist.$this->php_ext", "mode=viewprofile&u=$id"),
                        'NAME_LIKE' => get_username_string('username', $id, $user_show[$id], $user_color[$id], $user_show[$id]), //get_username_string('colour', $value, $user_show[$value], $this->get_colour($user_show[$value]), $user_show[$value]),
                        'AVATAR_LIKE' => $data[$id], //(empty($data[$value])) ? '<div class="not_avtar"></div>' : $data[$value],
                        'TIME_LIKE' => $this->user->format_date($like_time[$id]),
                    ));
                }



จึกอยากทราบว่าควรแก้ไข้อย่างไร ครับ

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 20786
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: อยากทราบวิธีการแก้ไข้การเรียกใช้งาน image avatar เพื่อแสดงรูปผู้ใช้งาน phpbb

โพสต์โดย mindphp » 17/05/2019 12:45 pm

path ไฟล์ ที่ระบุไปที่ ไฟล์ file.php ผิด
ระบุ path เข้ามาจาก root folder ว่าเข้ามากี่ชั้น

ถ้าใน phpBB แค่ระบุ path ถูกก็จะได้ ภาพมาใช้งานเลย

ลองดูกระทู้นี้ ทำความเข้าใจเรื่อง
https://www.mindphp.com/forums/viewtopic.php?t=22186
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042


ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 2327
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

Re: อยากทราบวิธีการแก้ไข้การเรียกใช้งาน image avatar เพื่อแสดงรูปผู้ใช้งาน phpbb

โพสต์โดย Ittichai_chupol » 21/05/2019 5:10 pm

ยังไม่เป็นแบบเดิมครับ มันยังดึง path ผิดอยู่ครับ

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 16892
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: อยากทราบวิธีการแก้ไข้การเรียกใช้งาน image avatar เพื่อแสดงรูปผู้ใช้งาน phpbb

โพสต์โดย thatsawan » 21/05/2019 5:25 pm

เวลามันส่งไปจะส่งเป็น นะ ได้ Return ออกมาเเบบนี้หรือยัง

โค้ด: เลือกทั้งหมด

<img class="avatar" src="xxxx" alt="ภาพประจำตัวสมาชิก" width="120" height="120"

ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 2327
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

Re: อยากทราบวิธีการแก้ไข้การเรียกใช้งาน image avatar เพื่อแสดงรูปผู้ใช้งาน phpbb

โพสต์โดย Ittichai_chupol » 21/05/2019 5:31 pm

ที่ผลองทำได้แบบนี้ครับ

Selection_999(1445).png



โค้ด: เลือกทั้งหมด

<img class="avatar" src="./../../../../download/file.php?avatar=2_1557288536.png" width="580" height="361" alt="User avatar">



โคดที่ใช่ตอนนี้

โค้ด: เลือกทั้งหมด



                $sql_image = 'SELECT user_colour,user_id, user_avatar ,user_avatar_type,user_avatar_width ,user_avatar_height
               FROM ' . USERS_TABLE . '
               WHERE ' . $this->db->sql_in_set('user_id', $user_id);
                $result_image = $this->db->sql_query($sql_image);

           
                while ($row_image = $this->db->sql_fetchrow($result_image)) {
                    $login_auto_phpbb_avatar[$row_image['user_id']]  = get_user_avatar($row_image['user_avatar'], $row_image['user_avatar_type'],
                                                                                                                                    $row_image['user_avatar_width'], $row_image['user_avatar_height']);

                    $data[$row_image['user_id']] = $login_auto_phpbb_avatar;
                    $user_color[$row_image['user_id']] = $row_image['user_colour'];
                }
                $url_user = generate_board_url();


                foreach ($user_id as $id) {
                    $this->template->assign_block_vars('user_all', array(
                        'AVATAR_LIKE' => $login_auto_phpbb_avatar[$id],
                   
                    ));
                }




ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 16892
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: อยากทราบวิธีการแก้ไข้การเรียกใช้งาน image avatar เพื่อแสดงรูปผู้ใช้งาน phpbb

โพสต์โดย thatsawan » 21/05/2019 6:30 pm

'เราต่อ url เองได้มัย ลองดูแบบนี้




โค้ด: เลือกทั้งหมด


     
while ($row_image $this->db->sql_fetchrow($result_image)) {
                    
$login_auto_phpbb_avatar phpbb_get_user_avatar($row_image);
                    
                    
//echo $login_auto_phpbb_avatar;
                    
$data[$row_image['user_id']] =  $row_image['user_avatar'];
                    
$user_color[$row_image['user_id']] = $row_image['user_colour'];

                }
                
$url_user generate_board_url();
                
                
                foreach (
$user_id as $id) {

                        
$image $url_user '/' .append_sid("download/file.$this->php_ext""avatar=" $data[$id]);

                    
$this->template->assign_block_vars('user_all', array(
                        
'LINK_USER_NAME' => $url_user '/' append_sid("memberlist.$this->php_ext""mode=viewprofile&u=$id"),
                        
'NAME_LIKE' => get_username_string('username'$id$user_show[$id], $user_color[$id], $user_show[$id]), //get_username_string('colour', $value, $user_show[$value], $this->get_colour($user_show[$value]), $user_show[$value]),
                        
'AVATAR_LIKE' => $image//(empty($data[$value])) ? '<div class="not_avtar"></div>' : $data[$value],
                        
'TIME_LIKE' => $this->user->format_date($like_time[$id]),
                    ));
                } 

ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 2327
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

Re: อยากทราบวิธีการแก้ไข้การเรียกใช้งาน image avatar เพื่อแสดงรูปผู้ใช้งาน phpbb

โพสต์โดย Ittichai_chupol » 21/05/2019 6:41 pm

มันได้ออกมาเป็น โคดแทนครับ

Selection_999(1446).png
Selection_999(1446).png (12.31 KiB) เปิดดู 221 ครั้ง


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 31 และ บุคคลทั่วไป 0 ท่าน