รบกวนสอบถามการเชื่อมระบบ Codeigniter และ PHP แบบเก่า
เอา คำสั่ง ลิงค์ มาดูครับ เขียนไว้อย่างไร
ข้่างล่างเป็นตัวอย่าง การสั่งลิงค์
ใช้ header หรือ ใช้ javascript
php
้header( 'location: http://domain.com/phpoldversion');
javascript
echo '<script>location.href="http://domain.com/phpoldversion";</script>
แต่ทีนี้ การใช้ frame work ผสมกับ โค๊ดธรรมดา นี่ ได้กำหนด session ไว้ยังไง แบบไหน อาจจะมีปัญหาการใช้งานรวมกัน นะครับ
Date :
2018-10-18 12:54:58
By :
Chaidhanan
url ในการเข้าถึง : domain.com/phpoldversion/news.php
ตำแหน่งไฟล์ที่วาง public_html/phpoldversion/news.php
หากเรียกใช้ผ่าน browser domain.com/phpoldversion/news.php สามารถเข้าใช้งานได้ปกติ
แต่ที่เกิดปัญหาคือ
framework ทำตัว login แล้วทำ menu เชื่อมไป ไปที่ domain.com/phpoldversion/news.php โดยตรงมันมองไม่เห็นขึ้น ERROR แบบที่แจ้งค่ะ
หรือจะต้องทำการสร้าง controller ใน framework แล้วให้ไปเรียก url phpoldversion มาแสดงแทนอะคะ?
Date :
2018-10-18 13:31:01
By :
premacare
ลอง วิวซอร์ส ดูลิงค์ ให้ชัดเจนอีกทีครับ ใส่ลิงค์ แบบย่อหรือเปล่า มันเลย gen ออกมาไม่ถูก
ลองใส่ให้เต็มรูปแบบ แล้วมันได้ไหม
http://domain.com/phpoldversion/news.php
แต่ถ้าใส่แค่ href="domain.com/phpoldversion/news.php" แบบนี้ไม่ได้นะครับ
มันจะสร้างลิงค์ให้แบบนี้ http://domain.com/pathที่กำลังทำงาน/domain.com/phpoldversion/news.php
Date :
2018-10-18 13:50:01
By :
Chaidhanan
ปัญหาน่าจะเกิดจาก
- หน้าที่ต้องการจะเข้านั้นจำเป็นจะต้องทำการ login ก่อนถึงจะเข้าได้
ทีนี้เราให้ทำการ login ผ่าน ci ก่อนแล้วค่อย link ไปหน้า php เดิม
โดยได้ทำการกำหนด session ในชื่อเดียวกัน
เราใช้ $_SESSION['news_login'] เหมือนกันการเขียนตัวเล็กใหญ่เหมือนกันทั้งใน ci และ php
เราได้ทำตามที่คุณเคยตอบไว้ใน กระทู้อื่นๆ แต่ เราอาจจะเป็นมือใหม่ทางด้านนี้ พอจะมีวิธีเช็คไหมคะว่าทำเหมือนกันแล้วจริงๆ
อ้างอิง https://www.thaicreate.com/php/forum/130147.html
"ใน codeigniter เมื่อเปิดใช้ session library ก็ควร เห็น session จาก โปรแกรมแรกเหมือนกัน ถ้าอยู่บน url เดียวกัน
main program:: http://yourdomain.com/index.php
ci program:: http://yourdomain.com/codeigniter/index.php
ทั้งสองอันนี้จะใช้ session ตัวเดียว ยกเว้นว่าคุณจะกำหนดวิธีการเก็บ session ต่างกัน
path ที่เก็บ หรือ database ก็ต้องเช็ค config ดูให้ดี
session ธรรมดา จะเก็บลง file โดยใช้ default path ใน php.ini
ควรจะอ่านคู่มือของ codeigniter ดูซักนิด เขาบอกวิธีการใช้งานไว้"
Date :
2018-10-18 14:32:23
By :
premacare
ส่วนของ codeigniter ที่ต้องแก้ไข
Code (PHP)
//codeigniter/application/config/cofig.php
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'sess_'; // เปลี่ยน cookie prefix ที่ใช้อ้างอิง session_id
$config['sess_save_path'] = 'your_path_for_save_session';
ส่วนของไฟล์ php ปกติ
Code (PHP)
<?php
session_save_path('your_path_for_save_session');
session_id($_COOKIE['sess_']);
session_start();
?><pre><?=print_r( [$_SESSION, $_COOKIE], true)?></pre>
ถ้าใน ci config กำหนด your_path_for_save_session ตรงกับ php.ini
ในไฟล์ปกติ ก็ตัดบันทัด 1 ออกได้
อันนี้เป็นตัวอย่าง คร่าวๆ นะครับ มันมี event อื่นๆ ที่ยังไม่ได้ ทดสอบ ก็ลองประยุกต์เอาตามต้องการ
Date :
2018-10-18 17:32:34
By :
Chaidhanan
Load balance : Server 05