ติดปัญหา Undefined variable: HTTP_SESSION_VARS

ใช้ mwhosi แล้วฟ้อง error

Undefined variable: HTTP_SESSION_VARS กับ Undefined index: DOCUMENT_ROOT

ไม่ทราว่ามีวิธีแก้อย่างไรครับ

** ใน php.ini register_globals เป็น On ครับ

สร้างไฟล์ .htaccess แล้วใส่โค้ดด้านล่างนี้ลงไป

php_flag register_globals off

อัพเข้าไปบนเว็บเลยครับ

webserver เป็น IIS ครับ ไม่ทราบว่า วิธีการเหมือน apache อย่างที่คุณ siamwebsolution.com บอกหรือเปล่าครับ

ไม่เคยลองอ่ะครับ

ผมได้ลองดูแล้วครับ ปรากฏว่ายังไม่ได้ ยังงัยขอบคุณ คุณsiamwebsolution.com มาก ๆ ครับ

เดี๋ยวรอท่านอื่นที่พอช่วยได้ รบกวนช่วยหน่อยนะครับ

search

$HTTP_SESSION_VARS

replace

$_SESSION

ลองแล้วยังไม่ได้เหมือนกันครับ

เท่าที่เดาๆ แล้วนี่ น่าจะเกิดจาก ระบุค่า path ในไฟล์ config ไม่ถูกครับ ลองเอา config มาโพสดูครับ

sorry !

sorry !

โทษทีครับ หมายถึง config ของตัวสคริบนะครับ ที่เก็บพวก absolute path

ใน code จะ error ช่วงนี้ครับ

global $vars;

if(!isset($_SERVER)) { $_SERVER = $HTTP_SERVER_VARS; }
if(!isset($_POST)) { $_POST = $HTTP_POST_VARS; }
if(!isset($_GET)) { $_GET = $HTTP_GET_VARS; }
if(!isset($_COOKIE)) { $_COOKIE = $HTTP_COOKIE_VARS; }
if(!isset($_FILES)) { $_FILES = $HTTP_POST_FILES; }
if(!isset($_ENV)) { $_ENV = $HTTP_ENV_VARS; }
if(!isset($_SESSION)) { $_SESSION = $HTTP_SESSION_VARS; }

while(list($key, $var) = each($_GET)) { $vars[$key] = $var; }
while(list($key, $var) = each($_POST)) { $vars[$key] = $var; }

// try find out the script’s path, if the first character is / then assume
// that the directory splitter is that too (otherwise use )
$dir_split = “/”;
if($_ENV[“DOCUMENT_ROOT”] != “”) {
if(substr($_ENV[“DOCUMENT_ROOT”], 0, 1) != “/”) {
$dir_split = “\”;
echo “
”;
}
}

ให้ทายว่าใช้ php5 ใช่มั้ยครับ

ลบ code ด้านล่างนี้ทิ้งได้หมดเลย

if(!isset($_SERVER)) { $_SERVER = $HTTP_SERVER_VARS; }
if(!isset($_POST)) { $_POST = $HTTP_POST_VARS; }
if(!isset($_GET)) { $_GET = $HTTP_GET_VARS; }
if(!isset($_COOKIE)) { $_COOKIE = $HTTP_COOKIE_VARS; }
if(!isset($_FILES)) { $_FILES = $HTTP_POST_FILES; }
if(!isset($_ENV)) { $_ENV = $HTTP_ENV_VARS; }
if(!isset($_SESSION)) { $_SESSION = $HTTP_SESSION_VARS; }

แล้วแก้

if($_ENV[“DOCUMENT_ROOT”] != “”) {

่อ่อแบบนี้นี่เอง
$_ENV ไม่มีใน php 5 หรือครับ จะได้รู้ไว้

$_ENV มีในกรณีที่รันผ่าน shell หรือ php cgi เท่านั้นครับ
ถ้าเป็น apache cli จะไม่มีตัวแปรนี้ขึ้นมา

ใช่ครับผมใช้ php5 ครับ จึงได้เกิด error แบบนี้ขึ้นมา ตอนนี้เปลี่ยนไปใช้ php4 แล้วครับ
รันได้เลยครับ ไม่ต้องแก้ script ขอบคุณ คุณ iceZ คุณ Thaitumweb และคุณ siamwebsolution.com ที่ให้ความช่วยเหลือ