ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingรบกวน เซียน PHP ช่วยหน่อยครับ(ภาค3)
หน้า: 1 ... 4 5 [6] 7 8 ... 14   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: รบกวน เซียน PHP ช่วยหน่อยครับ(ภาค3)  (อ่าน 38883 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Godfather
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 201



ดูรายละเอียด เว็บไซต์
« ตอบ #100 เมื่อ: 12 กันยายน 2007, 10:22:40 »

คุณ Kennn อยู่เปล่าครับ
บันทึกการเข้า

[Color = Red]ท่านที่ ว่างงานอยู่กำลังมองหางาน หรือ ท่านที่ต้องการรายได้เสริม เชิญทางนี้ครับ [Color]http://www.thaiseoboard.com/index.php/topic,65120.0.html
kennn
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 149
ออฟไลน์ ออฟไลน์

กระทู้: 1,199



ดูรายละเอียด
« ตอบ #101 เมื่อ: 13 กันยายน 2007, 09:47:42 »

ปัญหานี้ต้องใช้ความพยายามและการอ่าน Tag Html เป็นพอควรนะครับ ผมว่าต้องเอาโค้ดมาให้ผมดูแล้วละครับ คือ Zip ไฟล์ทั้งเว็ปมาให้ผมตรวจสอบเลยนะครับ ช่วงนี้มาแล้วไม่ค่อยได้ว่างตอบเลยครับ มาแล้วก้อรีบไปแบบว่ามาอ่านไว้ก่อนนะครับ
บันทึกการเข้า

Godfather
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 201



ดูรายละเอียด เว็บไซต์
« ตอบ #102 เมื่อ: 13 กันยายน 2007, 10:29:17 »

คุณ Kennn ต้องการไฟล์อะไรบ้างครับ

บันทึกการเข้า

[Color = Red]ท่านที่ ว่างงานอยู่กำลังมองหางาน หรือ ท่านที่ต้องการรายได้เสริม เชิญทางนี้ครับ [Color]http://www.thaiseoboard.com/index.php/topic,65120.0.html
kennn
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 149
ออฟไลน์ ออฟไลน์

กระทู้: 1,199



ดูรายละเอียด
« ตอบ #103 เมื่อ: 13 กันยายน 2007, 18:21:08 »

ทุกไฟล์ได้ยิ่งดีครับ เพราะจุดตรวจสอบที่แน่นอนหาลำบากครับในกรณีแบบนี้
บันทึกการเข้า

kennn
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 149
ออฟไลน์ ออฟไลน์

กระทู้: 1,199



ดูรายละเอียด
« ตอบ #104 เมื่อ: 15 กันยายน 2007, 14:00:48 »

เจอแล้วครับ อยู่ในไฟล์ index.php Line 104 ให้คุณดูที่ '</a></td>'."n";

เห็นตัว n มัยครับ ให้ใส่ \ หน้าตัว n ครับ จะได้แบบนี้ '</a></td>'."\n";

ใน Line 106 , 107 , 256 ก้อเหมือนกันครับ จะมีแต่ "n"; ที่ถูกต้องเป็น "\n"; นะครับ


พอดูไปดูมาก้อเจอปัญหาเพิ่มอีกแล้วครับ

เมื่อลองเปิดหน้าแรกมา hxxt://www.madeatthailand.biz ให้ลองเอาเม้าท์ไป onOver ที่  Link ต่างๆครับแล้วดูที่ Status bar มันจะมีค่า osCsid ส่งไปใน page อื่นๆด้วย พอคลิกไปหน้าอื่น การแสดงผลยังปกติดี แต่ลองเอาเม้าท์ไป onOver ที่  Link ดูครับแล้วดูที่ Status bar จะไม่เห็นค่า osCsid แล้ว อันนี้อาจเกิดจากการที่เราไปเปิดการทำงานของ Force cookie use(น่าจะเป็นการเปิดใช้ Cookie) ทำให้ไม่ต้องใช้ session อันนี้คุณต้องเข้าไปดูในส่วนของ Configuration>>session แล้วดูว่า Force cookie use เป็น True หรือป่าว ถ้าเป็น True ส่วนนี้ก้อไม่มีปัญหาอะไร
ในส่วนของ Javascript อันนี้ควรต้องไปแก้เลยครับ ไปที่ไฟล์ Product_info.php นะครับ ให้ดู Line ประมาณ 108

อ้างถึง
<script language="javascript"><!--
document.write('<?php echo '<a href="javascript:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>');
//--></script>

ให้ดูส่วนที่เป็นสีแดงครับว่าเหมือนกันมัย(น่าจะไม่เหมือนอยู่แล้วละ) ถ้าไม่เหมือนก้อแก้ให้เหมือนกับโค้ดด้านบนนะครับ

มันมีปัญหายังไงใส่วนนี้ ลองเข้าหน้านี้ดูครับ hxxp://www.madeatthailand.biz/product_info.php?products_id=58 ดูที่ Status Bar ด้านล่าง มันจะขึ้นข้อความ Error on page ถ้าคุณทำการแก้แล้ว และแก้ถูกต้อง ข้อความนี้จะหายไปครับ
บันทึกการเข้า

Godfather
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 201



ดูรายละเอียด เว็บไซต์
« ตอบ #105 เมื่อ: 16 กันยายน 2007, 21:18:58 »

ที่แรกที่ผมดูโค๊ด 'n' ผมดูตัวที่ Back up  ไว้ในเครื่องก็มี  \ ปกติดี  แต่พอ เอาไฟล์ที่อยู่ในเวบมาดูกลับไม่มี \
 เลย งง มากครับ แต่ตอนนี้ได้แก้ตามที่บอกล่ะครับขอบคุณมาก
แต่ทำไมมันถึงเกิดขึ้นได้ล่ะครับ สาเหตุเกิดเพราะอะไรครับ

คุณ Kennn ครับวันก่อนผมทำเวบตัวที่จำลองบนเครื่องแล้วเกิดปัญหาอีกแล้วครับ
แต่ที่นี้เกิดจาก ตอนกำลังใส่รูปสินค้า เข้าไปในเวบ ไฟดันเกิดดับอะครับ พอไฟมา เวบที่จำลองบนเครื่อง Error ดังนี้ครับ

Warning: mysql_query(): Unable to save result set in c:\appserv\www\catalog\includes\functions\database.php on line 44
1030 - Got error 127 from table handler

select count(*) as total from products p, products_to_categories p2c where p.products_id = p2c.products_id and p.products_status = '1' and p2c.categories_id = '21'

[TEP STOP]


แก้ไงครับ
ขอบคุณครับ(ไม่รีบ ถ้าคุณ Kennn ว่างก็มาตอบนะครับ)
บันทึกการเข้า

[Color = Red]ท่านที่ ว่างงานอยู่กำลังมองหางาน หรือ ท่านที่ต้องการรายได้เสริม เชิญทางนี้ครับ [Color]http://www.thaiseoboard.com/index.php/topic,65120.0.html
Jenosize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 2,589



ดูรายละเอียด
« ตอบ #106 เมื่อ: 17 กันยายน 2007, 03:21:52 »

ผมอ่านกระทู้นี้ประทับใจน้ำใจคุณ kenn จริงๆครับ ให้ 5 ดาวเลยครับ  Kiss
บันทึกการเข้า

สู้ตายโว้ย.
Godfather
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 201



ดูรายละเอียด เว็บไซต์
« ตอบ #107 เมื่อ: 17 กันยายน 2007, 06:00:03 »

ผมให้ เป็น GURU 5 ดาว เลยอะครับ
ช่วยผมเยอะมากไม่รู้จะตอบแทนอย่างไรเลย
เวบผมคงจะสำเร็จไม่ได้ถ้าไม่ได้คุณ Kennn ช่วย
« แก้ไขครั้งสุดท้าย: 17 กันยายน 2007, 06:01:40 โดย Godfather » บันทึกการเข้า

[Color = Red]ท่านที่ ว่างงานอยู่กำลังมองหางาน หรือ ท่านที่ต้องการรายได้เสริม เชิญทางนี้ครับ [Color]http://www.thaiseoboard.com/index.php/topic,65120.0.html
kennn
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 149
ออฟไลน์ ออฟไลน์

กระทู้: 1,199



ดูรายละเอียด
« ตอบ #108 เมื่อ: 17 กันยายน 2007, 09:21:41 »

ขอบคุณทั้ง 2 ท่านที่ชมครับ ผมมาบอร์ดนี้ยังไม่เคยมีอะไรมาแบ่งปันเพื่อนๆในนี้เลย ได้แต่เก็บอย่างเดียว หุหุหุ และอีกอย่างผมเข้าใจสถานการณ์สำหรับเพื่อนๆที่มีปัญหา เป็นมือใหม่ และอยากจะหาความรู้เพิ่มเติม ผมก้อเลยคิดว่าอะไรที่เราพอรู้แล้วเราช่วยได้ก้อช่วยดีกว่า ผมนึกถึงหลักของ Matrix นะครับ ช่วยเค้า เค้าก้อไปช่วยคนอื่น ต่อๆๆๆ ไปได้ เป็นการกระจายกำลังให้กับบอร์ดนี้ ก้อเท่ากับว่าผมได้เข้ามาแบ่งปันให้บอร์ดนี้บ้างแล้ว ขอบคุณสำหรับกำลังใจครับ

ต่อมาครับ ตอบคำถามที่มิตรรัก PHP OSC ถามไว้ อิอิอิ

อ้างถึง
ที่แรกที่ผมดูโค๊ด 'n' ผมดูตัวที่ Back up  ไว้ในเครื่องก็มี  \ ปกติดี  แต่พอ เอาไฟล์ที่อยู่ในเวบมาดูกลับไม่มี \
 เลย งง มากครับ แต่ตอนนี้ได้แก้ตามที่บอกล่ะครับขอบคุณมาก
แต่ทำไมมันถึงเกิดขึ้นได้ล่ะครับ สาเหตุเกิดเพราะอะไรครับ

คุณบอกว่าเอาเว็ปให้ทาง Host เค้าจัดการด้วยใช่มะครับ ผมคาดว่าเค้าคงจะทำการ Optimize Code (ทำให้ไฟล์มีขนาดเล็กลง โดยการตัด Text บางตัวออกไป แบบ Auto) หรือ ใช้การ Replace แล้วเผลอไปลบ \ เข้า สังเกตุมัยครับ มีแค่ \ หายไป โชคดีที่เป็นแค่ 2 ไฟล์ เพราะฉะนั้นอย่าไว้ใจให้เค้าแก้แล้วนะครับ หุหุหุ


อ้างถึง
Warning: mysql_query(): Unable to save result set in c:\appserv\www\catalog\includes\functions\database.php on line 44
1030 - Got error 127 from table handler

ถ้าขึ้นข้อความนี้จำวิธีแก้ไข้ไว้ได้เลยครับ มีวิธีเดียว นั่นคือ ซ่อมแซมฐานข้อมูลอย่างเดียวครับ แก้ไขที่ ตารางที่มีปัญหา หรือ จะแก้ไขตารางทั้งหมดเลยก้อได้ครับ วิธีทำก้อ
- เข้าไปในส่วนของดาต้าเบสของเว็ปที่มีปัญหาครับ
- ติ้กถูกหน้าช่อง Check Box ของทุกตาราง โดยกดที่ Check All ด้านล่างก้อได้ครับ(คลำๆเอานะครับ)
- พอ Check All หมดทุกตารางแล้ว ก้อไปที่ List menu ครับ มันจะมี Repair หรือ ซ่อมแซม ให้เลือกเลยครับ(ต้องกด OK ด้วยหรือไงเนี่ย) ถ้ามี Optimize ด้วยก้อทำด้วยนะครับ


อ้างถึง
ผมแก้ไขในไฟล์
include/footer ครับคือปกติ มันจะเป็น ภาษาอังกฤษครับ ผมใส่ตัวอักษรไทยไปมันกลายเป็นตัวยึกยือ แต่พอผมเปลี่ยนตรงธงชาติเปลี่ยนเป็นภาษาไทยมันก็แสดงผลได้ตามปกติครับ

ผมจะสามารถให้มันแสดงผลตามแต่ละภาษาได้ไหมครับ แบบว่าผมกดธงชาติไทยมันก็แสดงเป็นไทย สดธงชาติอังกฤษมันก็แสดงเป็นภาษาอังกฤษ ในส่วน footer หน่ะครับ

การจะใส่ข้อความภาษาไทยใน OSC หรือ Source อื่นๆที่ผู้จัดทำเป็นคนต่างชาติ เราต้องคำนึงถึง Encode Text ด้วยครับ ให้ลองดู View source ดูครับ ในบรรทัดที่มี <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ถ้าในส่วนนี้ charset=windows-874 หรือ tis-620 ภาษาที่พิมเป็นไทยก้อจะแสดงผลออกมาเป็นภาษาไทยครับ ทั้งนี้ทั้งนั้นขึ้นอยู่กับ Font Type ด้วยครับ Font Type ที่ดีที่สุดผมคิดว่าเป็น Tomato size=9 ดังนั้นพอคุณเลือกแสดงภาษาเป็น en ตัวอักษรภาษาไทยเกิดเป็นภาษาต่างดาวขึ้นมาก้อเพราะว่า charset=utf-8 นั่นเอง เพราะฉะนั้นการที่เราจะใส่ข้อความภาษาไทยลงไปใน OSC เราควรกำหนด ตัวแปรคงที่(define) ขึ้นมา ให้กับประโยคนั้นๆหรือส่วนนั้นๆเลย ของแต่ละไฟล์ภาษา (เริ่มแล้วใช่มะครับ)

อย่าเพิ่งงครับ ผมจะขยายความและบอกวิธีเพิ่ม ผมจะบอกว่าภาษาหรือข้อความที่เราใส่เข้าไปใหม่สามารถเปลี่ยนไปตามการแสดงผลของภาษานั้นๆได้ โดยที่ข้อความสามารถอ่านรู้เรื่อง ใน OSC จะมีไฟล์ที่กำหนดข้อความของแต่ละหน้าอยู่ครับ ไฟล์เหล่านั้นจะอยู่ในส่วนของ includes>>languages ในโฟลเดอร์ language จะมีไฟล์และโฟลเดอร์ของแต่ละภาษาอยู่ 1 ภาษาก้อจะมีตัวอย่างดังนี้ เช่น ภาษา en ก้อจะมีโฟลเดอร์ชื่อ english และไฟล์ english.php ในโฟลเดอร์ english ก้อจะมีไฟล์อีกเพียบเลย(ลองเข้าไปดูนะครับ คุณสามารถเปลี่ยนรูปปุ่มและรูปธงได้ที่นี่) และภาษาอื่นก้อจะแยกออกมาอีก 1โฟลเดอร์กับอีก 1ไฟล์     ในไฟล์ต่างๆของโฟลเดอร์ Languages นี่แหละครับที่เป็นตัวเก็บข้อความต่างๆไว้ จำได้มัยครับที่คุณบอกว่าอยากให้ส่วนข้อความที่อยู่ด้านบน head ตรงคำว่า Top เป็นคำว่า Home คุณไปแก้ที่ไฟล์ในส่วนไหน คุณมาแก้ในส่วนของ languages ใช่มะครับ ตอนนี้ก้อให้จำให้ขึ้นใจเลยครับว่า ไฟล์เก็บข้อความต่างๆของ OSC อยู่ในโฟลเดอร์ languages คราวนี้คุณก้อลองเปิดไฟล์ english.php และ Thai.php เทียบกัน เห็นความแตกต่างกันตรงไหนบ้าง

มาดูตัวอย่างตรงนี้ก้อได้ครับ ผมยกตัวอย่างมาให้ดู ประมาณบรรทัดที่เท่าไหร่ไม่รู้ เพราะของแต่ละ Source ไม่ค่อยเหมือนกัน ดูตามแล้วกันนะครับ

อ้างถึง
English.php

define('CHARSET', 'iso-8859-1');

// page title
define('TITLE', STORE_NAME);

// header text in includes/header.php
define('HEADER_TITLE_CREATE_ACCOUNT', 'Create an Account');
define('HEADER_TITLE_MY_ACCOUNT', 'My Account');
define('HEADER_TITLE_CART_CONTENTS', 'Cart Contents');
define('HEADER_TITLE_CHECKOUT', 'Checkout');

อ้างถึง
Thai.php

define('CHARSET', 'tis-620');

// page title
define('TITLE', STORE_NAME);

// header text in includes/header.php
define('HEADER_TITLE_CREATE_ACCOUNT', 'เปิดบัญชี');
define('HEADER_TITLE_MY_ACCOUNT', 'บัญชีของฉัน');
define('HEADER_TITLE_CART_CONTENTS', 'เนื้อหาตะกร้า');
define('HEADER_TITLE_CHECKOUT', 'เตรียมตัวจ่ายตังค์');

Tip ถ้าเราจะเพิ่มภาษาขึ้นมา เราควร Copy ไฟล์และโฟลเดอร์ภาษาเก่าที่เราใช้อยู่มาใส่ในโฟลเดอร์ languages โดยทำการเปลี่ยนชื่อไฟล์และโฟลเดอร์เป็นภาษานั้นๆ เพื่อให้ตัวแปรมีเท่ากันเหมือนเดิม
เหตุผล เพราะว่าหากเราไปโหลดของเจ้าอื่นมา version OSC ที่เราใช้อยู่อาจจะไม่ตรงกับที่เราโหลดมา ตัวแปรของเรากับตัวที่โหลดมาอาจมีไม่เท่ากัน ทำให้การแสดงผลผิดพลาดได้

ผมขออธิบายส่วนที่เป็นสีน้ำเงินก่อน ส่วนนี้สังเกตุให้ดีนะครับว่าไม่มีเครื่องหมาย ' ทั้งเปิดและปิดข้อความ อันนี้คือ ตัวแปร ที่มาจากฐานข้อมูล เจอแบบนี้เราไม่ควรเปลี่ยนข้อความประโยคนี้ครับ ควรไปเปลี่ยนในส่วนการจัดการของ Admin ส่วน define('CHARSET', 'tis-620'); เห็นมัยครับว่า OSC มีการเปลี่ยน charset ได้ ในส่วนอื่นๆคุณก้อแปลข้อความแล้วแก้ไขเป็นภาษาไทยเลย

ต่อมาอธิบายการใช้รูปแบบตัวแปรค่าคงที่(define) จะมีรูปแบบการใช้ดังนี้

อ้างถึง
define(' ตัวแปรที่เรากำหนด ' , ' ข้อความที่เรากำหนด ');

จำรูปแบบไว้นะครับ ผมจะสร้างให้ดู 1 ชุด โดยสร้างเพิ่มที่ภาษาไทย 1ชุด และ en 1ชุด แบบนี้คือการ เพิ่ม(Add) ไม่ใช่การแก้ไข(edit) นะครับ

อ้างถึง
Thai.php
define(' LANG_FOOTER ' , ' คุณสามารถติดต่อเราได้ที่เบอร์ 191 ');

อ้างถึง
english.php
define(' LANG_FOOTER ' , ' You can call me is number 191 ');

เวลานำไปใช้ก้อแค่นำตัวแปร LANG_FOOTER(อักษร ตัวใหญ่ ตัวเล็กต้องเหมือนกัน) ไปใช้แค่ตัวเดียว เช่น คุณอยากจะให้มีข้อความนี้ในส่วน footer.php คุณก้อแค่นำไฟล์ไปทำการ echo ในส่วนนั้นๆ เช่น

อ้างถึง
<?
echo LANG_FOOTER;
?>

ดังนั้นคุณสามารถจะเพิ่มชุด define กี่ชุดก้อได้ แต่มีข้อแม้นิดนึงสำหรับ OSC ยกตัวอย่างไฟล์ที่อยู่ข้างนอกโฟลเดอร์ english ก่อนนะครับ คือ ไฟล์ english.php ข้อความที่เก็บในไฟล์นี้ส่วนใหญ่จะเป็นข้อความทั่วๆไปบนหน้า index และข้อความธรรมดาที่ใช้บ่อยๆทั่วไป คุณสมารถเพิ่มชุด define ทั่วๆไปได้ที่นี้ แต่คราวนี้ลองมาดูไฟล์ที่อยู่ในโฟลเดอร์บ้าง ตัวอย่างไฟล์ คือ login.php คุณจะเห็นว่าข้อความในนี้คุ้นๆตาว่าเคยเห็นอยู่หน้าไหนมาก่อน นั่นก้อคือหน้า log in นั่นเอง ดังนั้นเวลาคุณจะเพิ่มข้อความอะไร ไปอยู่หน้าไหน ควรคำนึงถึงไฟล์ที่เราจะเพิ่มเข้าไปด้วยครับ ว่าเราควรไปเพิ่มที่ไฟล์ไหนดี



อ้างถึง
ที่ไฟล์
require(DIR_WS_BOXES . 'information.php'); ในส่วนของ colum left ผมลองเขียน code ใส่ไปในส่วนนี้มันก็ไม่ยอมแสดงผลออกมาหน่ะครับ คือผมอยากให้มีข้อความแนะนำเวปไซด์ทางด้านซ้าย ตามอ่านกระทู้แล้วคุณ kenn แนะนำให้ลง code ในส่วนนี้ปรากฏมันไม่แสดงผลครับ

อันนี้คุณลองนำโค้ดมาให้ผมดูหน่อยนะครับว่าคุณใส่โค้ดยังไง ผมคาดว่าคุณอาจจะใส่โค้ดผิด


สำหรับโพสนี้ ผมว่ามันยาวจนผมกลัวว่าจะตกหล่นอะไรไปบ้าง อาจจะทำให้อ่านไม่ค่อยเข้าใจ ยังไงไม่เข้าใจตรงไหนก้อถามเพิ่มแล้วกันนะครับ

บันทึกการเข้า

kennn
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 149
ออฟไลน์ ออฟไลน์

กระทู้: 1,199



ดูรายละเอียด
« ตอบ #109 เมื่อ: 17 กันยายน 2007, 18:51:18 »

ขอโทษคุณ Jenosize และคุณ Godfather ผมไม่ได้ดูชื่อที่ PM ข้อความมานึกว่าเป็นคุณ Godfather PM มาคนเดียว แต่คำตอบอยู่ใน Rep ด้านบนแล้วนะครับ
บันทึกการเข้า

Jenosize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 2,589



ดูรายละเอียด
« ตอบ #110 เมื่อ: 17 กันยายน 2007, 21:48:41 »

ขอบคุณมากครับ เด๋วผมลองปฏิบัติตามครับ
บันทึกการเข้า

สู้ตายโว้ย.
Jenosize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 2,589



ดูรายละเอียด
« ตอบ #111 เมื่อ: 18 กันยายน 2007, 02:44:23 »

ขอบคุณคุณ kennn มากครับ ผมอ่านที่คุณ kenn สอนแล้ว จากที่ไม่ค่อยเข้าใจ ก็เข้าใจแล้ว ได้ความรู้เป็นอย่างมาก 
ผมได้ลองนำเอา code ที่ใส่ไว้มาให้ชมนะครับว่าผิดตรงไหนรึเปล่า Huh?

ในส่วนนี้เป็นของไฟล์  C:\AppServ\www\01osc\01osc\osc\includes
อ้างถึง
<?php
/*
  $Id: column_left.php,v 1.15 2003/07/01 14:34:54 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  if ((USE_CACHE == 'true') && empty($SID)) {
    echo tep_cache_categories_box();
  } else {
    include(DIR_WS_BOXES . 'categories.php');
  }

  if ((USE_CACHE == 'true') && empty($SID)) {
    echo tep_cache_manufacturers_box();
  } else {
    include(DIR_WS_BOXES . 'manufacturers.php');
  }

  require(DIR_WS_BOXES . 'whats_new.php');
  require(DIR_WS_BOXES . 'search.php');
  require(DIR_WS_BOXES . 'information.php');
  สวัสดีครับลองโพสข้อความในส่วน<br>
  <b><font color="#FFFF00">colum left</font></b> ดูนะครับว่าจะเป็นอย่างไร

?>


ไม่ทราบผมผิดตรงไหนเอ่ย มันจึงไม่ยอมแสดงผลข้อความข้างบนที่ colum ทางซ้ายครับ
« แก้ไขครั้งสุดท้าย: 18 กันยายน 2007, 02:50:57 โดย Jenosize » บันทึกการเข้า

สู้ตายโว้ย.
Jenosize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 2,589



ดูรายละเอียด
« ตอบ #112 เมื่อ: 18 กันยายน 2007, 04:52:51 »

จากวิชาที่ผมเรียนมาจากคุณ kenn ทำให้ผมเปลี่ยนภาษาในแต่ละหมวดได้แล้วครับ
ได้ลองทำตามแล้วเช่น

จาก ไฟล์  include/lanquage/thai.php
อ้างถึง
define('HEADER_SPECIALS','ของพรีเมี่ยมพิเศษ');

จากนั้นมากำหนดที่ไฟล์ include/header.php
อ้างถึง
<? //เปลี่ยนให้ตรงตามแต่ละภาษาส่วนบน ?>
       <tr><td width=111 align=center><a href=<?=tep_href_link('specials.php')?> class=ml2>
        <? echo HEADER_SPECIALS; ?></a></td>

บิงโก!! แสดงผลได้ตามต้องการ แต่ผมจะมีปัญหาอยู่อีก tag หนึ่งซึ่งผมไม่ทราบจะไปแทนค่าอย่างไรครับ
นั่นคือ code นี้ครับคือไฟล์ตัวเก่า

อ้างถึง
<td width=2 height=12><img src=images/m23.gif width=2 height=12></td>
       <td width=146 align=center><?=(!tep_session_is_registered('customer_id') ? '<a href='.tep_href_link('login.php').' class=ml2>Customer Login</a>' :

ไม่ทราบผมจะเอา code <? echo HEADER_CUSTOMER_LOGIN; ?> ไปแทนคำว่า Customer Login ได้อย่างไรครับผม ?? 
บันทึกการเข้า

สู้ตายโว้ย.
Godfather
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 201



ดูรายละเอียด เว็บไซต์
« ตอบ #113 เมื่อ: 18 กันยายน 2007, 06:09:08 »

อ่า ถึงไม่ใช่ Pm  ของผม แต่ผมก็ได้ความรู้ไปด้วย ดีครับ ใครถามก็ได้ผมจะได้อ่านด้วย เผื่อเอาไปปรับแก้ด้วย

ตอนนี้เวบที่จำลองบนเครื่องใช้ได้แล้วครับ แก้ไขแล้ว

คำถามต่อไป
การปรับขนาดรูปที่โชว์ในเวบครับ
ผมสามารถปรับขนาดตามความต้องการของตัวเองนี่จะต้องทำการแก้ไขที่ส่วนใน ตัวอย่าง


2 ที่ ก็คือ ที่วง กับ ในกรอบ ซึ่งในกรอบนั้นถ้าปรับขนาดมันก็จะเป็นแบบเดียวกันทั้งหมดถ้าปรับใน Config แต่ถ้าอยากจะปรับให้รูปภาพดูแล้วได้สัดส่วนจะต้องทำการแก้ไขตรงไหนครับ

ขอบคุณครับ
บันทึกการเข้า

[Color = Red]ท่านที่ ว่างงานอยู่กำลังมองหางาน หรือ ท่านที่ต้องการรายได้เสริม เชิญทางนี้ครับ [Color]http://www.thaiseoboard.com/index.php/topic,65120.0.html
kennn
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 149
ออฟไลน์ ออฟไลน์

กระทู้: 1,199



ดูรายละเอียด
« ตอบ #114 เมื่อ: 18 กันยายน 2007, 14:48:56 »

อย่างแรกที่จะแนะนำนะครับ คื่อเรื่อง Path การไว้ไฟล์ ไม่ควรไว้ให้มันลึกเกินไป เวลาเรียกใช้มันจะลำบากครับ เช่น

อ้างถึง
C:\AppServ\www\01osc\01osc\osc

เวลาเรียกหน้า index ขึ้นมาก้อต้องใส่ url ยาวๆ

hxxp://localhost/01osc/01osc/osc/index.php

ถ้าเป็นผมทำผมจะทำแบบนี้

อ้างถึง
C:\AppServ\www\osc

เวลาเรียกหน้า index ขึ้นมาก้อไม่ต้องใส่ url ยาวๆ

hxxp://localhost/osc/index.php

หากจะทำเว็ปเพิ่ม ก้อสร้างโฟลเดอร์ใหม่ เช่นผมจะทำเว็ป OSC เพิ่มอีกเว็ป ก้อสร้างโฟลเดอร์ชื่อ osc-new  Path ที่ออกมาก้อจะเป็น

อ้างถึง
C:\AppServ\www\osc-new

เวลาเรียกหน้า index

hxxp://localhost/osc/index.php



ต่อมาในส่วนของคำถามนี้นะครับ

อ้างถึง
<?php
/*
  $Id: column_left.php,v 1.15 2003/07/01 14:34:54 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  hxxp://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  if ((USE_CACHE == 'true') && empty($SID)) {
    echo tep_cache_categories_box();
  } else {
    include(DIR_WS_BOXES . 'categories.php');
  }

  if ((USE_CACHE == 'true') && empty($SID)) {
    echo tep_cache_manufacturers_box();
  } else {
    include(DIR_WS_BOXES . 'manufacturers.php');
  }

  require(DIR_WS_BOXES . 'whats_new.php');
  require(DIR_WS_BOXES . 'search.php');
  require(DIR_WS_BOXES . 'information.php');
  สวัสดีครับลองโพสข้อความในส่วน<br>
  <b><font color="#FFFF00">colum left</font></b> ดูนะครับว่าจะเป็นอย่างไร


?>

ในส่วนสีแดง แบบนี้ผิดครับ เราไม่ควรใส่ code HTML ใน Tag PHP แบบเพรียวๆอย่างนี้เลยครับ การแสดงผลจะผิดพลาดแน่นอน

Q:Tag PHP มีรูปแบบเป็นแบบไหน?
A:Tag PHP มีรูปแบบ แบบนี้ครับ 

อ้างถึง
<?

ส่วนของการเขียนโค้ด PHP

?>

ต้องมี Tag เปิด(<?) และ Tag ปิด(?>) เสมอ ก้อเหมือนกับภาษา HTML นะครับ Tag Font ก้อต้องมีเปิด ปิด <font></font> , Tag Body <body></body>
ภาษาอื่นก้อใช้หลักการเดียวกัน

ดังนั้นเวลาเราจะเอาโค้ด HTML แทรกเข้าไปใน PHP ก้อต้องมีรูปแบบเฉพาะของมันอยู่ ส่วนใหญ่มี 2หลักการใช้ครับ

แบบที่ 1  แทรกมันไปดื้นๆเลย ก็คือต้องใช้วิธี ปิด/เปิด Tag PHP เอาครับ

อ้างถึง
BEFOR

<?
//ส่วนบนของโค้ด PHP

//ส่วนท้ายของโค้ด PHP
?>


อ้างถึง
AFTER

<?
//ส่วนบนของโค้ด PHP
?>

<font size="2"><b>ส่วนของ HTML</b></font>

<?
//ส่วนท้ายของโค้ด PHP
?>

แบบที่ 2 ใส่ตามหลักการของ PHP คือ ใช้วิธีการ echo

อ้างถึง
BEFOR

<?
//ส่วนบนของโค้ด PHP

//ส่วนท้ายของโค้ด PHP
?>

อ้างถึง
AFTER

<?
//ส่วนบนของโค้ด PHP

echo '<font size="2"><b>ส่วนของ HTML</b></font>';

//ส่วนท้ายของโค้ด PHP
?>

หลักการ echo หรือการแสดงข้อความของ PHP ลองหาอ่านเพิ่มเติมนะครับ อธิบายไปยาวแน่ๆ ผมจะแสดงรูปแบบคร่าวๆให้ดู เป็นตัวอย่างไว้ศึกษา ตัวอย่างนี้เอาไปรันได้เลย

อ้างถึง
<?

$strTest='Hello';

echo 'echo ข้อความธรรมดา<br>';
echo '<font size="2"><b>แสดง Font size="2" ตัวหนา</b></font><br>';
echo '<font size=5><b>แสดง Font size=5 ตัวหนา</b></font><br>';
echo 'echo โดยการเชื่อมกับตัวแปร PHP ตัวแปรมีค่าเท่ากับ '.$strTest.'<br>';
echo $strTest.' my name is KENN';
echo 'echo มีรูปแบบอย่างนี้ echo ' ' ' ';';

?>

จะเห็นว่า echo เป็นตัวประกาศว่า จะแสดงข้อความ และใส่ ' ทั้งหน้าและหลังข้อความนั้นๆ และใส่ ; เพื่อปิดการทำงานของโค้ดในส่วนนั้น

พออ่านมาถึงตรงนี้ คุณน่าจะพอรู้บ้างแล้วว่าจะทำยังไงกับ code ในส่วนนี้

อ้างถึง
  require(DIR_WS_BOXES . 'whats_new.php');
  require(DIR_WS_BOXES . 'search.php');
  require(DIR_WS_BOXES . 'information.php');
  สวัสดีครับลองโพสข้อความในส่วน<br>
  <b><font color="#FFFF00">colum left</font></b> ดูนะครับว่าจะเป็นอย่างไร

กับ

อ้างถึง
<td width=2 height=12><img src=images/m23.gif width=2 height=12></td>
       <td width=146 align=center><?=(!tep_session_is_registered('customer_id') ? '<a href='.tep_href_link('login.php').' class=ml2>Customer Login</a>' :

ผมอยากให้ลองแก้กันดูก่อนนะครับ ถ้าไม่ได้ ผมจะมาบอกอีกที




ในส่วนของคุณ Godfather

ให้เข้าไปแก้ไขขนาดของรูปภาพ ในส่วนของ Admin นะครับ ไปที่ configuration>Image ในส่วนนี้จะเป็นขนาดของรูปภาพในแต่ละส่วน ถ้าเป็นส่วนตามรูปภาพที่แนบมา มันเป็นส่วนของ Subcategoly คุณก้อเข้าไป edit ความกว้าง ความสูงได้ตามต้องการเลย

Tip รูปภาพที่เราจะเอามาใส่ในเว็ป OSC นั้น รูปภาพส่วนเล็กๆ จะมาจากการ Resize ของรูปภาพขนาดใหญ่ที่เรา upload ขี้นไป ดังนั้น การตั้งค่า config Small Image นั้น เราต้องคำนวนขนาดจากรูปภาพใหญ่ด้วย เช่น รูปภาพขนาดใหญ่มีขนาด 115x130px การตั้งค่า Small Image ต้องอยู่ที่ 95x110px(ลบความกว้างความสูงไปอย่างละ20px) หรือ 85x100px(ลบความกว้างความสูงไปอย่างละ30px) จะลดมากกว่านี้ก้อได้แล้วแต่ชอบ โดยลบความกว้างกับความสูงตาม px ที่เราต้องการ


บันทึกการเข้า

Jenosize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 2,589



ดูรายละเอียด
« ตอบ #115 เมื่อ: 18 กันยายน 2007, 16:59:50 »

ขอบคุณมากครับเข้ามาอ่านก่อน เด๋วลองทำดูครับ

อ่านแล้วผมเข้าใจได้มากจริงๆครับ ขอบคุณครับ
บันทึกการเข้า

สู้ตายโว้ย.
kennn
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 149
ออฟไลน์ ออฟไลน์

กระทู้: 1,199



ดูรายละเอียด
« ตอบ #116 เมื่อ: 18 กันยายน 2007, 17:55:47 »

การเพิ่ม ข้อความ หรือ ตาราง ในไฟล์ column_left.php หรือ column_right.php ให้ดูวิธีที่หน้า 1 กับ 3 นะครับ โดยที่หน้า 1 จะเป็นการใส่ข้อความแบบไม่มีตาราง ส่วนหน้า 3 จะเป็นการใส่ข้อมูลลงในตารางด้วย พยายามอ่านให้ละเอียดมากๆนะครับ คุณ Jenosize เพราะผมมีตอบผิดพลาดไปบ้าง
บันทึกการเข้า

Jenosize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 2,589



ดูรายละเอียด
« ตอบ #117 เมื่อ: 18 กันยายน 2007, 21:34:16 »


อันนี้ที่ผมจะให้ข้อความปรากฏ คล้ายๆคุณ Godfather ในหน้า 1-3
แต่ผมลองทำตามหน้าแรกแล้วมันไม่ขึ้นอะไรเลย

อ้างถึง
<?php
/*
  $Id: column_left.php,v 1.15 2003/07/01 14:34:54 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  if ((USE_CACHE == 'true') && empty($SID)) {
    echo tep_cache_categories_box();
  } else {
    include(DIR_WS_BOXES . 'categories.php');
  }

  if ((USE_CACHE == 'true') && empty($SID)) {
    echo tep_cache_manufacturers_box();
  } else {
    include(DIR_WS_BOXES . 'manufacturers.php');
  }

  require(DIR_WS_BOXES . 'whats_new.php');
  require(DIR_WS_BOXES . 'search.php');
  require(DIR_WS_BOXES . 'information.php');
 ?>
<? echo FOOTER_KEYWORD_LINK ?>
<? echo 'แสดงอะไรซักอย่างมาให้ดูหน่อยซิ'; ?>


ครับ มันไม่ยอมขึ้นอะไรมาเลยครับผม
บันทึกการเข้า

สู้ตายโว้ย.
Jenosize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 2,589



ดูรายละเอียด
« ตอบ #118 เมื่อ: 18 กันยายน 2007, 22:05:04 »

อ้างถึง
<td width=146 align=center><?=(!tep_session_is_registered('customer_id') ? '<a href='.tep_href_link('login.php').' class=ml2>Customer Login</a>' : '<a href='.tep_href_link('logoff.php').' class=ml2>Sign Out</a>')?></td>

ตามที่เข้าใจถ้าผมจะเอาตัว tag
1 คือ HEADER_CREATE
2 คือ HEADER_SING_OUT
ไปแทรกให้แสดงผลภาษาตามตัวสีเขียว แทนที่ Customer Login และ Sign Out

จากบทเรียนที่ผ่านมาให้สังเกต tag เปิด ของ php คือ

<?

// ใส่ echo ระหว่าง tag
echo

?>

ผมจึงได้นำ

อ้างถึง
<td width=146 align=center><?=(!tep_session_is_registered('customer_id') ? '<a href='.tep_href_link('login.php').' class=ml2>echo HEADER_LOGIN;
 
</a>' : '<a href='.tep_href_link('logoff.php').' class=ml2>echo HEADER_SIGN_OUT;
</a>')?></td>

ปรากฏว่าไม่ยอมแสดงผลครับ  Cry

บันทึกการเข้า

สู้ตายโว้ย.
kennn
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 149
ออฟไลน์ ออฟไลน์

กระทู้: 1,199



ดูรายละเอียด
« ตอบ #119 เมื่อ: 19 กันยายน 2007, 00:56:24 »

ให้แทรกตามด้านล่างนะครับ

อ้างถึง
<?php
/*
  $Id: column_left.php,v 1.15 2003/07/01 14:34:54 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  if ((USE_CACHE == 'true') && empty($SID)) {
    echo tep_cache_categories_box();
  } else {
    include(DIR_WS_BOXES . 'categories.php');
  }

  if ((USE_CACHE == 'true') && empty($SID)) {
    echo tep_cache_manufacturers_box();
  } else {
    include(DIR_WS_BOXES . 'manufacturers.php');
  }

  require(DIR_WS_BOXES . 'whats_new.php');
  require(DIR_WS_BOXES . 'search.php');
  require(DIR_WS_BOXES . 'information.php');
 ?>

<tr>
<td>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td class="infoBoxHeading"><img src="images/infobox/corner_left.gif" border="0" alt="" width="11" height="26"></td>
    <td width="100%" class="infoBoxHeading">Calendar&Clock</td>
    <td class="infoBoxHeading" nowrap><img src="images/infobox/corner_right.gif" border="0" alt="" width="11" height="26"></td>
  </tr>
</table>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="3" class="infoBoxContents">
  <tr>
    <td><img src="images/pixel_trans.gif" border="0" alt="" width="100%" height="1"></td>
  </tr>
  <tr>
    <td class="boxText">

<?
echo FOOTER_KEYWORD_LINK;
echo 'แสดงอะไรซักอย่างมาให้ดูหน่อยซิ';
?>

</td>
  </tr>
  <tr>
    <td><img src="images/pixel_trans.gif" border="0" alt="" width="100%" height="1"></td>
  </tr>
</table>
</td>
  </tr>
</table>
</td>
</tr>



เอาโค้ดไปใช้ดูครับ ส่วนโค้ดที่คุณใส่เข้าไป

อ้างถึง
<? echo FOOTER_KEYWORD_LINK ?> //อันนี้ผิดครับ ไม่ได้ใส่เครื่องหมายปิดการทำงาน( ; )
<? echo 'แสดงอะไรซักอย่างมาให้ดูหน่อยซิ'; ?> //อันนี้ถูกต้องครับ



ส่วนการแทรกตัวแปรโค้ดด้านล่าง ตัวอย่างนี้เป็นอีกกรณีหนึ่งที่ใช้กันบ่อยมาก สำหรับมือใหม่คงมองลำบากหน่อย รูปแบบนี้ ต้องใช้การเชื่อม Text กับ ตัวแปร ครับ ไม่ควรใช้ echo ดูกรณีศึกษาครับ ลองรันโค้ดนี้ดู

อ้างถึง
<?
$strTest='Hello'; //1
echo $strTest.'<br>'; //2
echo 'ข้อความบรรทัดนี้ คือ echo $strTest'.'<br>'; //3
echo 'ข้อความบรรทัดนี้ คือ '.$strTest; //4
?>


ดู Line 3 นะครับ คุณใช้กรณีนี้อยู่ อย่างที่เคยบอก ข้อความที่อยู่ในเครื่องหมาย ' จะเป็น Text ดังนั้นจากโค้ดด้านล่างคุณต้องใช้รูปแบบใน Line 4

อ้างถึง
<td width=146 align=center><?=(!tep_session_is_registered('customer_id') ? '<a href='.tep_href_link('login.php').' class=ml2>Customer Login</a>' : '<a href='.tep_href_link('logoff.php').' class=ml2>Sign Out</a>')?></td>


รูปแบบนี้ ต้องใช้การเชื่อม Text กับ ตัวแปร ครับ ไม่ควรใช้ echo ที่ถูกต้องเป็นแบบนี้

อ้างถึง
<td width=146 align=center><?=(!tep_session_is_registered('customer_id') ? '<a href='.tep_href_link('login.php').' class=ml2>'.HEADER_CREATE
.'
</a>' : '<a href='.tep_href_link('logoff.php').' class=ml2>'.HEADER_SING_OUT.'</a>')?></td>


ส่วนสีแดงคือส่วนที่เพิ่มขึ้นมา แบบนี้เป็นการเชื่อม Text กับ ตัวแปร เข้าด้วยกัน มาดูกันครับว่าส่วนไหนเป็น Text ส่วนไหนเป็นตัวแปร ข้อความที่อยู่ในเครื่องหมาย ' ส่วนใหญ่จะเป็น Text หรือที่เค้าเรียกกันว่า string

อ้างถึง
<td width=146 align=center><?=(!tep_session_is_registered('customer_id') ? '<a href='.tep_href_link('login.php').' class=ml2>'.HEADER_CREATE.'</a>' : '<a href='.tep_href_link('logoff.php').' class=ml2>'.HEADER_SING_OUT.'</a>')?></td>


สีแดง คือ Text สีน้ำเงิน คือ ตัวแปร จุด ( . ) มีหน้าที่เชื่อม Text กับ ตัวแปร จากโค้ดด้านบนนี้ เป็นการลดรูปการเขียนโค้ดอาจจะทำให้มือใหม่มองยาก ผมจะเขียนให้ดูอีกแบบ

อ้างถึง
<td width=146 align=center>
<?

if(!tep_session_is_registered('customer_id')){

echo '<a href='.tep_href_link('login.php').' class=ml2>'.HEADER_CREATE.'</a>';

}else{

echo '<a href='.tep_href_link('logoff.php').' class=ml2>'.HEADER_SING_OUT.'</a>';

?>
</td>


หวังว่าผมคงอธิบายให้เข้าใจได้เพิ่มขึ้นนะครับ

บันทึกการเข้า

หน้า: 1 ... 4 5 [6] 7 8 ... 14   ขึ้นบน
พิมพ์