Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > ขอคำแนะนำ+ถามวิธีการดึงข้อมูล หน้าอื่นๆมาแสดงผลในหน้าเดียวครับ



 

ขอคำแนะนำ+ถามวิธีการดึงข้อมูล หน้าอื่นๆมาแสดงผลในหน้าเดียวครับ

 



Topic : 031000

Guest




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

สมมุติว่า ในหน้าเวปเพจ จะประกอบไปด้วยหลายๆส่วนดังนี้
head : เป็นพวกป้าย logo เวป
menu : เมนูสำหรับลิงค์ไปยังหน้าอื่นๆภายในเวป
member : ส่วนของการ login เข้าเวป
body : เนื้อหาต่างๆในเวป
foot : ส่วน copyright

แต่เดิมนั้นเวลาผมเขียนเวปเพจขึ้นมา1หน้านั้น เช่น ในหน้า index.php นั้น ผมต้องการให้มี ส่วนทั้งหมด 5ส่วนข้างต้นมาแสดงผลในหน้าเดียวกัน ผมจะใช้วิธี include หรือ require หน้าเพจอื่นๆที่เขียนแยกกันมา
include('head.html');
include('menu.php'); เป็นต้น
โดยในไฟล์แต่ละส่วนนั้นผมก็เขียนเฉพาะส่วนนั้น เช่น head ก็จะมีแต่ logo ของเวปเป็นต้น
จากนั้นในหน้า เพจอื่นๆ เช่น page1.php , page2.php ผมก็จะใช้วิธีเดียวกันกับที่ทำบน index.php
คือใน หน้า page1.php นั้นก็จะมีการ include ส่วนต่างๆเข้ามา เช่นเดียวกัน จะเปลี่ยนแค่บางส่วนที่ include ไม่เหมือนกัน เช่นส่วนของ menu (ในกรณีที่หน้านั้นเป็นส่วนของ admin ก็จะแสดง menu แบบadmin) ในส่วนของ body ก็จะแตกต่างกันไป เช่น page1.php เป็น การสมัครสมาชิก ก็จะเป็น รูปฟอร์มของการใส่ข้อมูลการสมัครสมาชิกเป็นต้น
(การจัดหน้าเวปในช่วงนี้ผมใช้ table เข้ามาแบ่งส่วนหน้าเวปตามที่ต้องการครับ)

ซึ่งวิธีข้างต้นมันจะเป็นการยุ่งยากลำบากในการแก้ไขมาก
แม้ว่ามันจะเป็น การ include ไฟล์มาก็จริง เช่น หากมีการแก้ ไฟล์ในส่วนของ head.html หน้าเพจอื่นๆที่มีการ include head.html ก็จะแสดงผลเปลี่ยนไปก็จริง แต่ปัญหามันอยู่ที่ว่า
เกิดไฟล์ที่ทำการ include head.html นั้นอยู่ใน part ที่ต่างกันเช่น ตัวอย่าง 2ไฟล์ดังนี้
1. /index.php
2. /member/regis.php
โดยที่ไฟล์ head.html อยู่ใน
/main/head.html
และ head.html มีการเรียกรูปภาพที่อยู่ใน
/image/logo.jpg

ปัญหามันจะอยู่ที่ว่า
เมื่อไฟล์ index.php นั้น ทำการ include('/main/head.html'); มาจะแสดงรูปได้ตามปกติ เพราะ part ในไฟล์ head.html มันเรียกหาไฟล์ /image/logo.jpg ได้ถูกต้อง
แต่ในกรณี /member/regis.php นั้น เมื่อมันมีการ include('/main/head.html'); มา ไฟล์ head.html จะ include ไม่เจอไฟล์เพราะ เนื่องจากมันจะมองว่าในโฟลเดอร์ member นั้น ไม่มี /main/head.html ซึ่งในจุดนี้ผมแก้ไขได้โดยใช้วิธีการ include('../main/head.html');
จากวิธีการข้างต้น ทำให้เห็นปัญหาคือ เรื่อง part ที่จะต้องคอยตามแก้ในแต่ละหน้า หรือว่าถ้ามีการแก้ไขในส่วนอื่นๆก็จะต้องตามแก้ไขทุกหน้า ซึ่งจะทำให้ไม่สะดวกละเสียเวลาเอามากๆ


ต่อมานั้นผมได้เปลี่ยนมาใช้วิธีที่2 ในการเขียนเวป คือ
จากตัวอย่างเดิม ในกรณี หน้าเพจ มีการแสดงผล ในส่วนๆต่างๆตามข้างต้นทีกล่าวมาคือ
head , member , body , menu และ foot ซึ่งใน ทุกๆเพจนั้น จะมีการแสดงส่วนต่างๆ คล้ายๆกันหมด เว้นแต่จะมีการเปลี่ยนแปลงบ้างเช่นส่วน body , member , menu เป็นต้น
ในวิธีการใหม่นี้ผมใช้วิธี ใช้หน้า index.php เป็น หน้าหลักในการ เรียกเปิด หน้า เพจอื่นๆขึ้นมาโดยใช้การส่งค่าตรงลิงค์ที่จะไปเช่น
ในหน้า index.php นั้น มีจุดที่จะทำการลิงค์ไปยังหน้าอื่นๆอยู่2หน้าคือ ลิงค์ไปยังหน้า page1.php และ page2.php
เมื่อจะทำการ ลิงค์ไป ยัง เพจดังกล่าวผมไม่ได้ใช้วิธีการ เรียกเปิด เพจนั้นเลยตรงๆ แต่ใช้วิธีการ เรียกเปิด หน้า index.php และตามด้วยค่าที่จะส่งไป เช่น หากต้องการเปิดหน้า page1.php ก็ให้ทำการลิงค์ไปที่ index.php?page=1
เมื่อทำการ โหลดลิงค์ดังกล่าว ในส่วนของ body ใน index.php นั้น ก็มีการใช้ if เช็คว่าค่า page ที่ GET มานั้นเรียกเปิดหน้าไหน เช่น
if( $page ==1 ) include('page1.php');
else if($page ==2) include('page2.php');

ซึ่งวิธีการใหม่ที่ผมใช้อันนี้จะแก้ปัญหาวิธีที่1 ได้ คือหากมีการแก้ไขก็ไม่ต้องแก้ไขทุก page แก้ไขที่ index.php ได้เลย
แต่ก็จะเกิดปัญหาใหม่ตามมา เช่น
กรณีที่ page1.php ที่ ไฟล์ index.php ทำการ include เข้ามานั้น มีการใช้ form แล้ว action ไปยัง page3.php โดยการส่งค่าแบบ post เวปเพจ นั้น จะถูก action ไปที่ page3.php ทันที ไม่ได้เปิดอยู่ใน index.php ซึ่งใน page3.php นั้นจะมีส่วนแค่เนื้อหา จะไม่มี ส่วนของ head,menu ,member , foot



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

ปัญหานี้อาจจะยาวซักหน่อย ไม่แน่ใจว่าอ่านแล้วจะงงกันไหมครับ ยังไงก็ขอบคุณล่วงหน้าครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-08-31 04:50:21 By : kalawa View : 10234 Reply : 6
 

 

No. 1



โพสกระทู้ ( 5,149 )
บทความ ( 26 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


แก้ปัญหาโดยการส่งค่าในหน้าเดียวครับ

เช่นหน้า regsite.php

<?php
if (!isset($actions)) {
$actions = "register";
}

switch($actions) {
default:
?>
<form action="index.php?page=1&actions=0" method="post">
ชื่อ <input type="text" name="xxx" /> <br>
ชื่อ <input type="text" name="xxx" />
<input type="submit" value="send">
<?php
break;
case "0":
$name=$_POST["name"];
$sname=$_POST["sname"];
ประมวลผล
break;
}
?>

ลองดูครับ ประยุกต์ใช้ดูครับ ไม่เข้าใจก็ถามไว้ครับเด่วมาตอบ

ที่ผมใช้งาน http://www.wintech.co.th/yasotorn/






Date : 2009-08-31 05:53:47 By : deawx
 


 

No. 2



โพสกระทู้ ( 1,528 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


เอาทุกไฟล์มาไว้ที่ โฟลเดอร์เดียวดีมั้ยครับ แบ่งเป็นสัดส่วนให้เข้าใจโดยการตั้งชื่อไฟล์
Date : 2009-08-31 09:27:00 By : Sek-Artdrinker
 

 

No. 3



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณ คุณdeawx มากครับเดี๋ยวขอไปลองทำความเข้าใจก่อนนะครับ

ตอบคุณ Sek-Artdrinker ครับ
ผมว่าการที่เอาทุกไฟล์มายัดรวมอยู่ในหน้าเดียวกันมันจะไม่เป็นระเบียบเท่าไรอะครับมันดูมั่วๆยังไงไม่รู้
สมมุติในโปรเจ็คเรา1โปรเจ็คมันใหญ่มากประกอบไปด้วยเพจ จำนวนไม่ต่ำกว่า 30หน้า เวลาแก้ไขทีมันคง งงพิลึกอะครับกว่าจะหาไฟล์นั้นเจอ
Date : 2009-08-31 10:34:25 By : kalawa
 


 

No. 4

Guest


ผมมองว่าเวลา submit ก็ action ไปที่ index.php เหมือนเดิมสิครับ

อ้างอิง

"เมื่อทำการ โหลดลิงค์ดังกล่าว ในส่วนของ body ใน index.php นั้น ก็มีการใช้ if เช็คว่าค่า page ที่ GET มานั้นเรียกเปิดหน้าไหน เช่น
if( $page ==1 ) include('page1.php');
else if($page ==2) include('page2.php');"
Date : 2009-10-15 16:55:13 By : amz
 


 

No. 5



โพสกระทู้ ( 23 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ผมเรียกหน้าแรกไม่เป็น อ่ะครับ
Date : 2010-07-22 16:01:45 By : shadowsteam
 


 

No. 6



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ผมว่า น่าจะเป็นแบบนี้นะ

index.php?page=3

เสร็จแล้ว คุณก็ไปเช็คเงื่อนไข ว่าเข้าเงื่อนไข page3.php

น่าจะได้นะครับ จริงๆ นะเออ

เหมือนที่ คุณ amz ว่าได้ทุกประการครับ
Date : 2010-07-22 17:51:24 By : yomaster
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอคำแนะนำ+ถามวิธีการดึงข้อมูล หน้าอื่นๆมาแสดงผลในหน้าเดียวครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่