ปัญหาเรื่อง session กับ server ubuntu และ พาธในการเก็บรูปภาพ

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

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

User avatar
tissana
PHP Sr. Member
PHP Sr. Member
Posts: 84
Joined: 01/01/1970 7:00 am
Contact:

ปัญหาเรื่อง session กับ server ubuntu และ พาธในการเก็บรูปภาพ

Post by tissana » 13/03/2009 12:35 am

เรื่องของเรื่องคือ วันก่อนมีน้องที่เรียนมหาวิทยาลัย มาสอบถามปัญหาเรื่องที่เขาไม่สามารถใช้งานหน้าเวปได้ 100% เมื่อส่งข้อมูลทั้งหมดขึ้น server ของ มหาลัยเพื่อส่งอาจารย์ แต่หน้าเวปเขาใช้งานได้ดีบนเครื่องของตนเองนะครับ เรียกว่าทำเสร็จแล้วแต่พอส่งขึ้นไป server มันกลับไม่สมบูรณ์ ผมลองดูปัญหาแล้วก็เจอข้อสงสัย 2 เรื่องดังนี้ครับ
1. หน้าเวป admin.php ของน้องเขามีการ ประกาศ session ไว้ที่บรรทัดบนสุดเพื่อการใส่ username กับ password เพื่อการเช็คสถานะ จากนั้นค่าของ username,password จะถูกส่งไปยังไฟล์ admin_check.php โดยมี code คร่าวๆดังนี้
$user=$_POST[user];
$pass=$_POST[pass];
if ($user=="admin" and $pass=="1234") {
session_start();
session_register("sess_adminid");
$sess_adminid = session_id();
header("Location: admin_home.php");
} else {
.....
......
จาก ไฟล์ admin_check.php ดังกล่าว เมื่อใส่ username,password ถูก ก็จะกระโดดไปยังไฟล์ admin_home.php ซึ่งจะมี code ดังนี้
<?
session_start();
if ($sess_adminid<>session_id()) {
header( "Location: admin.php"); exit();
}
?>
.......
นี่เป็นปัญหาครับ คือ หลังจากบรรทัด session_start(); แล้วเจอคำสั่ง if (...) มันกลับเป็นจริง ทำให้ระบบมันกระโดดกลับไปที่หน้า admin.php ต่อครับ จะวันเป็นวงกลมอย่างนี้ เหมือนกับว่า session ไม่ได้ถูกสร้างขึ้นมา ซึ่งตอนทำงานบนเครื่องของตนเองก็ทำได้ปรกติ น้องเขาบอกว่า server ที่ ภาคของเขาใช้ เป็น ubuntu ผมอยากทราบว่าเรื่อง session ที่ไม่ได้สร้างขึ้นมานี้น่าจะเกี่ยวกับเจ้า ubuntu หรือเปล่าครับ ด้วยข้อมูลเพียงเท่านี้พอจะสรุปได้หรือไม่ครับว่าเป็นที่ ubuntu และจะแก้ไขอย่างไรดีครับ
2. คำถามที่ 2 นะครับ ต่อเนื่องจาก ข้อ 1 ด้านบนครับ ในเวปของน้องเขามีการ ให้ upload รูปเพื่อจัดเก็บเข้ามาในระบบด้วย ซึ่งตอนทำบนเครื่องก็ใช้ พาธดังนี้ครับ
.......
copy($fileupload,"C:/AppServ/www/shop/photo/".$fileupload_name);
........
ก็ใช้งานได้ปรกติครับมีการจัดเก็บภาพได้จริงแสดงผลภาพได้ด้วยหลังจาก upload น้องเขาใช้ appserv นะครับในการจำลองเป็น server บนเครื่องตนเอง ปัญหาที่ตามมาคือ เมื่อน้องเขาส่งข้อมูลขึ้น server ของทางภาค พาธนี้ก็คงใช้ไม่ได้แน่ๆ น้องเขาจึงใส่เป็นพาธตามที่เขาเห็นเมื่อเขาใส่รหัสนักศึกษาและusername ต่างๆตามที่อาจารย์ให้ ซึ่งเป็นที่เดียวกับที่เขาส่งไฟล์ต่างๆเข้า server ภาคนั่นเอง เช่นของทางภาค หลังจากที่น้องเขา login เข้าไปแล้วอาจจะมี พาธดัง /tmp.ac/nisit/computer/public_html/ น้องเขาก็เลยนำมาแก้ไขเป็น
.......
copy($fileupload,"/tmp.ac/nisit/computer/public_html/photo/".$fileupload_name);
........
แต่เครื่องมันฟ้องเรื่อง function copy ตรงบรรทัดดังกล่าวนี้หละครับ ทำให้ไม่สามารถ upload รูปภาพได้ แต่ข้อมูลจากฟิลด์ต่างๆในหน้าเวปที่มีปัญหานี้ก็จัดเก็บได้ปรกตินะครับ ยกเว้นเรื่องรูปภาพนี่หละครับ
คำถามของผมเราจะรู้ได้อย่างไรครับว่าต้องใช้ path ไหน อย่างไร เพื่อให้มันจัดเก็บรูปภาพได้ กรณีนี้ผมนึกไปถึงตอนที่เราไปเช่า hosting ข้างนอกด้วยนะครับ เราจะรู้ได้อย่างไรว่าต้องแก้ เป็น พาธไหน อย่างไร
ผมมีสงสัย 2 เรื่องนี้หละครับ แต่ไม่แน่ใจว่าข้อมูลที่ให้มาจะพอให้ผู้อ่าน วิเคราะห์ได้หรือไม่ หากข้อมูลน้อยไปต้องขออภัยด้วยนะครับ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22590
Joined: 22/09/2008 6:18 pm
Contact:

Re: ปัญหาเรื่อง session กับ server ubuntu และ พาธในการเก็บรูปภาพ

Post by mindphp » 13/03/2009 3:55 pm

อันนี้ต้อง ดูเวอร์ชั่นและ config ของ php ด้วยครับ
การใช้งาน session ใช้เป็น $_SESSION['xx']='yyyy'; ไม่เลยครับ php เปลี่ยนรูปแบบ เรื่อง session มาตั้งแต่เวอร์ชั่น 4.3 แล้วครับ
เรื่อง เรื่อง ที่เก็บไฟล์ ก็ใช้แบบ path แบบ relation ไปเลยครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

Post Reply

Return to “Programming - PHP”

Users browsing this forum: No registered users and 26 guests