ช่วยด้วยครับ เหลือด่านสุดท้ายไม่ได้ซักที server ไม่ยอมเก็บค่า session หรือ cookie ให้เลยครับ
น่าจะเป็น register_global = on/off ลองใช้คำสั่ง phpinfo() ดูครับ
Code (PHP)
<?
//*** Register Global =On/Off Function ***//
$phpVersion = phpversion();
list($v_Upper,$v_Major,$v_Minor) = explode(".",$phpVersion);
if (($v_Upper == 4 && $v_Major < 1) || $v_Upper < 4) {
$_FILES = $HTTP_POST_FILES;
$_ENV = $HTTP_ENV_VARS;
$_GET = $HTTP_GET_VARS;
$_POST = $HTTP_POST_VARS;
$_COOKIE = $HTTP_COOKIE_VARS;
$_SERVER = $HTTP_SERVER_VARS;
$_SESSION = $HTTP_SESSION_VARS;
$_FILES = $HTTP_POST_FILES;
}
if (!ini_get('register_globals')) {
while(list($key,$value)=each($_FILES)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_ENV)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_GET)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_POST)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_COOKIE)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_SERVER)) $GLOBALS[$key]=$value;
while(list($key,$value)=@each($_SESSION)) $GLOBALS[$key]=$value;
foreach($_FILES as $key => $value){
$GLOBALS[$key]=$_FILES[$key]['tmp_name'];
foreach($value as $ext => $value2){
$key2 = $key."_".$ext;
$GLOBALS[$key2]=$value2;
}
}
}
?>
Go to : PHP register_global = On/Off
ประวัติการแก้ไข 2010-08-31 23:05:29
Date :
2010-08-31 23:04:55
By :
webmaster
ขอบคุณมากมายเลยครับ
Date :
2010-09-01 00:27:18
By :
boodemon
ตอนนี้ระบบใช้ได้แล้วครับ แล้วถ้า จะใช้งานร่วมกับ cookie ล่ะครับ
แบบว่า ถ้ามี cookie แล้วมัน error ตรง session_start(); ครับ แต่พอเอา session_start(); ออก มันกลับไม่ยอม login ให้ครับ
ยังไงรบกวนคุณพี่ mr.win ช่วยตอบด้วยนะครับ ขอบคุณมากมายครับ
Date :
2010-09-01 01:51:19
By :
boodemon
ลองใส่ ob_start() ไว้บนสุดดูครับ
Date :
2010-09-01 01:59:14
By :
pjgunner
ใส่ไปแล้วครับ คือปัญหามีอยู่ว่า เวลาแทรก session_start(); มันจะ error เวลาที่ติ๊ก ใช้งาน cookie ครับ
แต่ถ้าไม่ติ๊กใช้งาน cookie ก็ log in ได้ปรกติ ที่นี้ ถ้าเอา session_start(); ออก เวลา ติ๊กใช้งาน cookie
มันก็ log in ได้ปรกติ แต่ถ้า log in แบบไม่ใช้ cookie session ก็ไม่ทำงานเหมือนเดิม
อันนี้ต้องแก้หรือเพิ่มเติมส่วนไหนใน โค้ดที่ให้ไว้ข้างต้นหรือเปล่าครับ
ยังไงก็รบกวนด้วยนะครับ.. ขอบคุณครับ
Date :
2010-09-01 08:47:19
By :
boodemon
ไม่รู้คุณโค้ดยังไงนะ
ob_start();
@session_start();
if ( logint and remember)
{
$_SESSION['username'] = 'abc';
setcookie('username', 'abc', time()+3600*24);
}
Date :
2010-09-01 09:08:43
By :
pjgunner
ไม่ได้ครับ ผมกำหนดแบบนี้ครับ คือสร้างไฟล์ php.info.php เก็บค่า
Code (PHP)
<?
//*** Register Global =On/Off Function ***//
$phpVersion = phpversion();
list($v_Upper,$v_Major,$v_Minor) = explode(".",$phpVersion);
if (($v_Upper == 4 && $v_Major < 1) || $v_Upper < 4) {
$_FILES = $HTTP_POST_FILES;
$_ENV = $HTTP_ENV_VARS;
$_GET = $HTTP_GET_VARS;
$_POST = $HTTP_POST_VARS;
$_COOKIE = $HTTP_COOKIE_VARS;
$_SERVER = $HTTP_SERVER_VARS;
$_SESSION = $HTTP_SESSION_VARS;
$_FILES = $HTTP_POST_FILES;
}
if (!ini_get('register_globals')) {
while(list($key,$value)=each($_FILES)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_ENV)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_GET)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_POST)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_COOKIE)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_SERVER)) $GLOBALS[$key]=$value;
while(list($key,$value)=@each($_SESSION)) $GLOBALS[$key]=$value;
foreach($_FILES as $key => $value){
$GLOBALS[$key]=$_FILES[$key]['tmp_name'];
foreach($value as $ext => $value2){
$key2 = $key."_".$ext;
$GLOBALS[$key2]=$value2;
}
}
}
?>
จากนั้นผมก็กำหนด แบบนี้ครับ
Code (PHP)
session_start();
ob_start();
require("config/php.info.php");
// อันนี้มันเออเร่อตอนประกาศ cookie ครับ ถ้าไม่มี cookie session ทำงานปรกติ
ลองใช้ แบบนี้ session ก็ไม่ทำงานเหมือนเิดิม
Code (PHP)
ob_start();
@session_start();
require("config/php.info.php");
ประวัติการแก้ไข 2010-09-01 10:03:19
Date :
2010-09-01 10:02:41
By :
boodemon
Code (PHP)
@session_start();
เอา @ ออก แล้วตอนนี้มัน error อะไรครั้บ
Date :
2010-09-01 10:04:42
By :
webmaster
ขอถามอีกเรื่องครับ แล้ว ตัว "@" มันมีเงื่อนไขการใช้งานยังไงครับ
Date :
2010-09-01 10:18:29
By :
boodemon
Load balance : Server 02