ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => หัวข้อเริ่มโดย: pum_pam ใน 17 กรกฎาคม 2014, 14:01:49

ชื่อเรื่อง: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 17 กรกฎาคม 2014, 14:01:49
เขียน Code login แบบนี้แต่ session ไม่เก็บค่าเป็นค่าว่าง ต้องแก้ที่อะไรค่ะ

หน้า กรอกแบบฟอร์ม

<?
session_start();
?>
 <form id="form1" name="form1" method="post" action="check-login.php?Login=checklogin">

     <td width="68" height="20" align="right" valign="middle">ชื่อผู้ใช้&nbsp;:&nbsp;</td>
     <td width="132" align="left" valign="middle"><input name="username" type="text" class="inputbox" id="username" /></td>
   </tr>
   <tr id="link14">
     <td height="28" align="right" valign="middle">รหัสผ่าน&nbsp;:&nbsp;</td>
     <td align="left" valign="middle"><input name="password" type="password" class="inputbox" id="password" /></td>
   </tr>
   <tr class="text12">
   <td></td>
     <td height="25" align="left" valign="middle"><input type="image" src="images/bg/Button-login.png" name="Submit"/></td>

หน้าเช็ค ข้อมูล check-login.php
<?
ob_start();
session_start();
include('connect.php');
header("content-type: text/html; charset=UTF-8");
$username=trim($_REQUEST[username]);
$password=md5(trim($_REQUEST[password]));
$sql=mysql_query("Select * From tb_member Where username='$username' && password='$password'");
if(mysql_num_rows($sql)>0){
$row=mysql_fetch_array($sql);
$_SESSION['id_mem']=$row[id_mem];
$_SESSION['username']=$row[username];
$_SESSION['name']=$row[name];
$_SESSION['province']=$row[province];
$_SESSION['status']=$row[status];
mysql_query("Update tb_member Set login=NOW() Where username=$row[username]");
echo"กำลังเข้าสู่ระบบ";
echo"<meta http-equiv='refresh' content='2;URL=tes.php'>";
}else{
echo"ไม่สามารถเข้าสู่ระบบได้";
echo"<meta http-equiv='refresh' content='2;URL=./.'>";
}
?>

หน้า tes.php หาก login ผ่านแสดงชื่อ user ที่ login

<?
ob_start();
session_start();
?>

     <? echo $_SESSION["username"]; ?>  
 
   
     <? echo $_SESSION["name"]; ?>









ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: tlecreate ใน 17 กรกฎาคม 2014, 14:11:25
ยัง งง นิดๆ SESSION ตัวไหนเก็บค่าว่างหรอครับ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: xvlnw.com ใน 17 กรกฎาคม 2014, 14:12:20
ลอง echo $row[username] กับ echo $row[name] ก่อนเก็บค่าลง Session ดูครับ ดูว่ามันมีค่าหรือเปล่าครับ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 17 กรกฎาคม 2014, 14:20:37
อ้างถึงจาก: tlecreate ใน 17 กรกฎาคม 2014, 14:11:25
ยัง งง นิดๆ SESSION ตัวไหนเก็บค่าว่างหรอครับ


หน้า tes.php หาก login ผ่านแสดงชื่อ user ที่ login ค่ะ

<?
ob_start();
session_start();
?>

      <? echo $_SESSION["username"]; ?> 
 
   
      <? echo $_SESSION["name"]; ?>
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 17 กรกฎาคม 2014, 14:25:00
อ้างถึงจาก: xvlnw.com ใน 17 กรกฎาคม 2014, 14:12:20
ลอง echo $row[username] กับ echo $row[name] ก่อนเก็บค่าลง Session ดูครับ ดูว่ามันมีค่าหรือเปล่าครับ

มีค่ะแต่พอใช้คำสั่ง echo"<meta http-equiv='refresh' content='2;URL=tes.php'>"; เพื่อให้แสดงผล user ใน
หน้า tes.php หาก login ผ่านแสดงชื่อ user ที่ login มันไม่แสดงในหน้านี้ค่ะ tes.php

<?
ob_start();
session_start();
?>

      <? echo $_SESSION["username"]; ?> 
 
   
      <? echo $_SESSION["name"]; ?>
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: siamjung ใน 20 กรกฎาคม 2014, 20:09:39
หน้า tes.php

ลองใส่โค๊ด print_r($_SESSION); ดูหน่อยครับ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: max30012540 ใน 20 กรกฎาคม 2014, 22:31:12
<?Php
ob_start();
session_start();
?>

      <?Php echo $_SESSION["username"]; ?> 
 
   
      <?Php echo $_SESSION["name"]; ?>

<? ยกเลิกใช้ไปแล้วครับ แนะนำให้ใช้ <?Php แทนครับ

ส่วน print_r() แสดงได้แค่ Array แนะนำ var_dump() ที่แสดงชนิดตัวแปรออกมาด้วยครับ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 26 กรกฎาคม 2014, 14:12:59
อ้างถึงจาก: siamjung ใน 20 กรกฎาคม 2014, 20:09:39
หน้า tes.php

ลองใส่โค๊ด print_r($_SESSION); ดูหน่อยครับ

ลองทดสอบ session ใส่ code นี้เข้าไปแล้วลอง รีเฟชดู
<?PHP
        session_start();
        print_r($_SESSION);
        if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
        } else {
    $_SESSION['count']++;
        }
        echo "<br>". session_id();
?>

ได้ค่านี้ออกมาค่ะ
Array ( )
udubk9tourlghoq8rp7ll9e2j3
แต่ถ้าทดสอบในจำลอง localhost จะได้ค่านี้ออกมาค่ะหากรีเฟชหลายรอบค่า count ก็จะเพิ่มขึ้นเรื่อยๆ ค่ะ
Array ( [count] => 18 )
80cae9d3bdf42a0b8b7cacd4a1578177
แบบนี้ต้องไปแก้ที่ตรงไหนค่ะ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: ยิ้มโค้ด.คอม ใน 26 กรกฎาคม 2014, 17:35:07
อ้างถึงจาก: pum_pam ใน 26 กรกฎาคม 2014, 14:12:59
อ้างถึงจาก: siamjung ใน 20 กรกฎาคม 2014, 20:09:39
หน้า tes.php

ลองใส่โค๊ด print_r($_SESSION); ดูหน่อยครับ

ลองทดสอบ session ใส่ code นี้เข้าไปแล้วลอง รีเฟชดู
<?PHP
        session_start();
        print_r($_SESSION);
        if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
        } else {
    $_SESSION['count']++;
        }
        echo "<br>". session_id();
?>

ได้ค่านี้ออกมาค่ะ
Array ( )
udubk9tourlghoq8rp7ll9e2j3
แต่ถ้าทดสอบในจำลอง localhost จะได้ค่านี้ออกมาค่ะหากรีเฟชหลายรอบค่า count ก็จะเพิ่มขึ้นเรื่อยๆ ค่ะ
Array ( [count] => 18 )
80cae9d3bdf42a0b8b7cacd4a1578177
แบบนี้ต้องไปแก้ที่ตรงไหนค่ะ

print_r คือการแสดงค่าใน array ออกมาครับที่มัน +1 ไปเรื่อยๆ ก็ถูกแล้วน่ะครับเพราะโค้ดมันสั่งให้บวกหนึ่งเมื่อมีค่าตัวแปร $_SESSION['count'] นิครับ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: siamjung ใน 27 กรกฎาคม 2014, 19:38:19
สรุปประเด็นคือคุณไม่มีค่าการ login อยู่ดีนะครับ

$_SESSION['id_mem']=$row[id_mem];
$_SESSION['username']=$row[username];
$_SESSION['name']=$row[name];
$_SESSION['province']=$row[province];
$_SESSION['status']=$row[status];

ผมว่าลองเช็ค check-login.php

echo $row['username'].'<br />'.$row['name'];

ค่าพวกนี้คุณออกหรือป่าวครับ ก่อนเก็บเข้า SESSION
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: jenovazac ใน 27 กรกฎาคม 2014, 21:51:09
ลองแก้ตามนนี้ ครับ ไฟล์ check-login.php

<?php
ob_start();
session_start();
include('connect.php');
header("content-type: text/html; charset=UTF-8");
$username=trim($_REQUEST[username]);
$password=md5(trim($_REQUEST[password]));
$sql=mysql_query("Select * From tb_member Where username='$username' && password='$password'");
if(mysql_num_rows($sql)>0){


while($row=mysql_fetch_array($sql)){

      $_SESSION['id_mem']=$row['id_mem'];
      $_SESSION['username']=$row['username'];
      $_SESSION['name']=$row['name'];
      $_SESSION['province']=$row['province'];
      $_SESSION['status']=$row['status'];
    mysql_query("Update tb_member Set login=NOW() Where username='$row[username]'");

}


echo"กำลังเข้าสู่ระบบ<br>";

print_r($_SESSION);

//echo"<meta http-equiv='refresh' content='2;URL=tes.php'>";


}else{
echo"ไม่สามารถเข้าสู่ระบบได้";
//echo"<meta http-equiv='refresh' content='2;URL=./.'>";
}

ob_end_flush();
?>
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 28 กรกฎาคม 2014, 14:30:39
อ้างถึงจาก: jenovazac ใน 27 กรกฎาคม 2014, 21:51:09
ลองแก้ตามนนี้ ครับ ไฟล์ check-login.php

<?php
ob_start();
session_start();
include('connect.php');
header("content-type: text/html; charset=UTF-8");
$username=trim($_REQUEST[username]);
$password=md5(trim($_REQUEST[password]));
$sql=mysql_query("Select * From tb_member Where username='$username' && password='$password'");
if(mysql_num_rows($sql)>0){


while($row=mysql_fetch_array($sql)){

      $_SESSION['id_mem']=$row['id_mem'];
      $_SESSION['username']=$row['username'];
      $_SESSION['name']=$row['name'];
      $_SESSION['province']=$row['province'];
      $_SESSION['status']=$row['status'];
    mysql_query("Update tb_member Set login=NOW() Where username='$row[username]'");

}


echo"กำลังเข้าสู่ระบบ<br>";

print_r($_SESSION);

//echo"<meta http-equiv='refresh' content='2;URL=tes.php'>";


}else{
echo"ไม่สามารถเข้าสู่ระบบได้";
//echo"<meta http-equiv='refresh' content='2;URL=./.'>";
}

ob_end_flush();
?>
ลองเอาโค๊ตที่ให้มาข้างบนไปรันในหน้า check-login.php รันได้ตามปกติค่ะข้อมูลสมาชิกออกมาหมดแต่พอ refreshส่งไปหน้า tes.php กลับเป็นค่าว่างค่ะ รู้สึกว่าจะเป็นปัญหาเดียวกันกับlink นี้ค่ะ http://www.thaiadmin.org/board/index.php?topic=47775.0 แต่ลองconfig โฮสเหมือนเค้าแล้ว ก็ไม่หายค่ะรู้สึกว่าจะเป็นปัญหาหมดที่ใช้งานส่งค่า session ข้ามหน้า page หน้าสมัครสมาชิกก็เป็นค่ะ


<?PHP
        session_start();
        print_r($_SESSION);
        if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
        } else {
    $_SESSION['count']++;
        }
        echo "<br>". session_id();
?>
ลองทดสอบ session ของโฮสต์ใส่ code ด้านล่างบนไปได้ค่านี้ออกมาค่ะ
Array ( )
ttjkmj0clser1d6a8jqqov5dm4

งงว่าในอาเรย์มัยไม่มีค่าไรออกมารีเฟสกี่รอบก็เป็นเหมือนเดิมค่ะ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: mikeyx ใน 28 กรกฎาคม 2014, 14:37:44
เปลี่ยน _REQUEST เป็น _POST ด้วยครับ php version ใหม่ ๆ คำสั่ง _REQUEST รู้สึกจะไม่ค่อยสเถียร
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 28 กรกฎาคม 2014, 14:54:19
อ้างถึงจาก: mikeyx ใน 28 กรกฎาคม 2014, 14:37:44
เปลี่ยน _REQUEST เป็น _POST ด้วยครับ php version ใหม่ ๆ คำสั่ง _REQUEST รู้สึกจะไม่ค่อยสเถียร
ใส่แล้วก็ไม่ได้เหมือนเดิมค่ะ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: jenovazac ใน 28 กรกฎาคม 2014, 16:05:16
<?php
        session_start();
        print_r($_SESSION);
/*       
        if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
        } else {
    $_SESSION['count']++;
        }
        echo "<br>". session_id();
        */
   
?>


code นี้ใช้ได้ไม่มีปัญหา ใดๆครับ ทดสอบให้แล้ว
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: jenovazac ใน 28 กรกฎาคม 2014, 16:16:27
ใช้ appserv  หรือ Xampp  เวอร์ชั่นไหนครับ

ผมทดสอบ กับ appserv  2.5.10   ไม่มีการปรับแต่งอะไร ใช้การตั้งค่าแบบเดิม  สคริปใช้ได้
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 28 กรกฎาคม 2014, 16:23:31
อ้างถึงจาก: jenovazac ใน 28 กรกฎาคม 2014, 16:16:27
ใช้ appserv  หรือ Xampp  เวอร์ชั่นไหนครับ

ผมทดสอบ กับ appserv  2.5.10   ไม่มีการปรับแต่งอะไร ใช้การตั้งค่าแบบเดิม  สคริปใช้ได้

เด่วเช็คให้อีกทีนะคะตอนนี้ โฮสตล่มอยู่ค่ะเช็คยังไม่ได้ค่ะแต่ก่อนหน้านี้code ก็เคยใช้งานได้ค่ะตอนที่ใช้งานได้ก็ไม่ได้สังเกตว่าเวอร์ชั่นไหนค่ะ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: jenovazac ใน 28 กรกฎาคม 2014, 16:28:40
 ถ้ารันบนโฮส ให้ติดต่อเจ้าของโฮสเลยครับ แจ้งปัญหาให้โฮส แล้วส่ง code ให้เค้าเช็คให้เลยครับ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 29 กรกฎาคม 2014, 08:31:53
อ้างถึงจาก: jenovazac ใน 28 กรกฎาคม 2014, 16:16:27
ใช้ appserv  หรือ Xampp  เวอร์ชั่นไหนครับ

ผมทดสอบ กับ appserv  2.5.10   ไม่มีการปรับแต่งอะไร ใช้การตั้งค่าแบบเดิม  สคริปใช้ได้


ใช้ PHP Version 5.3.3  ค่ะ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: dekdoo ใน 29 กรกฎาคม 2014, 10:52:04
ลองเอา session_start(); ขึ้นเป็นบรรทัดแรกสุด
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 29 กรกฎาคม 2014, 10:57:43
อ้างถึงจาก: dekdoo ใน 29 กรกฎาคม 2014, 10:52:04
ลองเอา session_start(); ขึ้นเป็นบรรทัดแรกสุด
เอาไว้ก็ไม่ได้เหมือนเดิมค่ะ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: ttong ใน 29 กรกฎาคม 2014, 11:37:46
ที่หน้า check-login.php ก่อนจะ refresh ไปหน้า tes.php
ลองแบบนี้ดูว่ามี อะไรออกมาหรือเปล่า
echo $_SESSION["username"];
echo $_SESSION["name"];


ลองทดสอบบนเครื่องตัวเองก่อนนะครับ
หากเครื่องตัวเองไม่มีปัญหา ค่อยลองทดสอบบนเซิร์ฟเวอร์
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 29 กรกฎาคม 2014, 11:52:19
อ้างถึงจาก: ttong ใน 29 กรกฎาคม 2014, 11:37:46
ที่หน้า check-login.php ก่อนจะ refresh ไปหน้า tes.php
ลองแบบนี้ดูว่ามี อะไรออกมาหรือเปล่า
echo $_SESSION["username"];
echo $_SESSION["name"];


ลองทดสอบบนเครื่องตัวเองก่อนนะครับ
หากเครื่องตัวเองไม่มีปัญหา ค่อยลองทดสอบบนเซิร์ฟเวอร์

ค่ะทดสอบแล้วค่ะใช้งานได้ปกติไม่มีปัญหาอะไรเลยข้อมูลออกมาหมดทุกขั้นตอน แต่พอขึ้นโฮสต์ หน้า tes.php มีปัญหาค่ะ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: ยิ้มโค้ด.คอม ใน 29 กรกฎาคม 2014, 14:27:18
อ้างถึงจาก: pum_pam ใน 29 กรกฎาคม 2014, 11:52:19
อ้างถึงจาก: ttong ใน 29 กรกฎาคม 2014, 11:37:46
ที่หน้า check-login.php ก่อนจะ refresh ไปหน้า tes.php
ลองแบบนี้ดูว่ามี อะไรออกมาหรือเปล่า
echo $_SESSION["username"];
echo $_SESSION["name"];


ลองทดสอบบนเครื่องตัวเองก่อนนะครับ
หากเครื่องตัวเองไม่มีปัญหา ค่อยลองทดสอบบนเซิร์ฟเวอร์

ค่ะทดสอบแล้วค่ะใช้งานได้ปกติไม่มีปัญหาอะไรเลยข้อมูลออกมาหมดทุกขั้นตอน แต่พอขึ้นโฮสต์ หน้า tes.php มีปัญหาค่ะ

หากที่ Localhost ได้ปกติ แล้วพออัปขึ้นเซริฟ์เวอร์จริงแล้วมีปัญหา อันนี้ผมว่าน่าจะเกี่ยวกับเวอร์ชั่น PHP หรือการ Config ค่าของโฮสต์น่ะครับ ไม่ลองเอาโค้ดล่าสุดปัจจุบันที่ยังมีปัญหามาดูอ่ะครับ เผื่อแก้ไปหลายอย่างแล้วมันไปผิดตรงอื่นอีกครับ

ปล. โฮสต์ใช้ค่า Session ได้หรือเปล่าครับ ลองเอาเฉพาะโค้ดนี้แล้วลองไปรันบนโฮสต์ดู
<?php
session_start
();
$_SESSION['test']='Session Ok';
echo 
$_SESSION['test'];
?>


หากไม่มีค่า Session Ok ออกมาก็มุ่งไปที่โฮสต์เลยครับ เพราะนั่นคือ Session บนโฮสต์ไม่ทำงาน แต่หากมีค่าก็เอาโค้ดล่าสุดที่อัปบนโฮสต์แล้วไม่ได้มาดูครับ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 29 กรกฎาคม 2014, 15:19:36
อ้างถึงจาก: killerb ใน 29 กรกฎาคม 2014, 14:27:18
อ้างถึงจาก: pum_pam ใน 29 กรกฎาคม 2014, 11:52:19
อ้างถึงจาก: ttong ใน 29 กรกฎาคม 2014, 11:37:46
ที่หน้า check-login.php ก่อนจะ refresh ไปหน้า tes.php
ลองแบบนี้ดูว่ามี อะไรออกมาหรือเปล่า
echo $_SESSION["username"];
echo $_SESSION["name"];


ลองทดสอบบนเครื่องตัวเองก่อนนะครับ
หากเครื่องตัวเองไม่มีปัญหา ค่อยลองทดสอบบนเซิร์ฟเวอร์

ค่ะทดสอบแล้วค่ะใช้งานได้ปกติไม่มีปัญหาอะไรเลยข้อมูลออกมาหมดทุกขั้นตอน แต่พอขึ้นโฮสต์ หน้า tes.php มีปัญหาค่ะ

หากที่ Localhost ได้ปกติ แล้วพออัปขึ้นเซริฟ์เวอร์จริงแล้วมีปัญหา อันนี้ผมว่าน่าจะเกี่ยวกับเวอร์ชั่น PHP หรือการ Config ค่าของโฮสต์น่ะครับ ไม่ลองเอาโค้ดล่าสุดปัจจุบันที่ยังมีปัญหามาดูอ่ะครับ เผื่อแก้ไปหลายอย่างแล้วมันไปผิดตรงอื่นอีกครับ

ปล. โฮสต์ใช้ค่า Session ได้หรือเปล่าครับ ลองเอาเฉพาะโค้ดนี้แล้วลองไปรันบนโฮสต์ดู
<?php
session_start
();
$_SESSION['test']='Session Ok';
echo 
$_SESSION['test'];
?>


หากไม่มีค่า Session Ok ออกมาก็มุ่งไปที่โฮสต์เลยครับ เพราะนั่นคือ Session บนโฮสต์ไม่ทำงาน แต่หากมีค่าก็เอาโค้ดล่าสุดที่อัปบนโฮสต์แล้วไม่ได้มาดูครับ

ค่า session ขึ้น ok ค่ะ


หน้า checklogin.php (ถ้ารันในหน้านี้เลยข้อมูลแสดงไม่มีปัญหาค่ะ)

<?php
ob_start();
session_start();
include('connect.php');
header("content-type: text/html; charset=UTF-8");
$username=trim($_REQUEST[username]);
$password=md5(trim($_REQUEST[password]));
$sql=mysql_query("Select * From tb_member Where username='$username' && password='$password'");
if(mysql_num_rows($sql)>0){


while($row=mysql_fetch_array($sql)){

$_SESSION['id_mem']=$row['id_mem'];
$_SESSION['username']=$row['username'];
$_SESSION['name']=$row['name'];
$_SESSION['province']=$row['province'];
$_SESSION['status']=$row['status'];
mysql_query("Update tb_member Set login=NOW() Where username='$row[username]'");

}


echo"กำลังเข้าสู่ระบบ<br>";

print_r($_SESSION);

//echo"<meta http-equiv='refresh' content='2;URL=tes.php'>";


}else{
echo"ไม่สามารถเข้าสู่ระบบได้";
//echo"<meta http-equiv='refresh' content='2;URL=./.'>";
}

ob_end_flush();
?>

หน้า tes.php (ไม่มีข้อมูลสมาชิกส่งไปค่ะเป็นค่าว่าง)

<?php
ob_start();
session_start();
header("content-type: text/html; charset=UTF-8");
?>

<?Php echo $_SESSION["username"]; ?>

<?Php echo $_SESSION["name"]; ?>

ดูที่ phpinfo ตอนนี้  ใช้ php ver 5.3.3 ค่ะ
register_globals = off
register_argc_argv = On
magic_quotes_gpc = On
output_buffering = 4096
session.cookie_path = "/"
Session Support enabled
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: ยิ้มโค้ด.คอม ใน 29 กรกฎาคม 2014, 16:07:14
ปิด  ob_end_flush(); ที่หน้า tes.php ดูครับ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 29 กรกฎาคม 2014, 16:11:55
อ้างถึงจาก: killerb ใน 29 กรกฎาคม 2014, 16:07:14
ปิด  ob_end_flush(); ที่หน้า tes.php ดูครับ

ลองปิดดูแล้วก็ไม่ได้ค่ะ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: ttong ใน 29 กรกฎาคม 2014, 16:14:57
ผมว่าลองติดต่อกับทาง Hosting ดีกว่าครับ
ให้ทางนั้นเค้าตรวจสอบให้
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: ยิ้มโค้ด.คอม ใน 29 กรกฎาคม 2014, 16:18:16
อ้างถึงจาก: pum_pam ใน 29 กรกฎาคม 2014, 16:11:55
อ้างถึงจาก: killerb ใน 29 กรกฎาคม 2014, 16:07:14
ปิด  ob_end_flush(); ที่หน้า tes.php ดูครับ

ลองปิดดูแล้วก็ไม่ได้ค่ะ

checklogin.php กับ tes.php นี่อยู่ใน directory เดียวกันหรือเปล่าครับ แล้วลองเอา copy โค้ดนี้ไปแทนที่ในหน้า tes.php ดูครับ

<?php
ob_start
();
session_start();
header("content-type: text/html; charset=UTF-8");

echo 
'username='.$_SESSION['username'];
echo 
'username='.$_SESSION['name'];

ob_end_flush();
?>


มันมีอะไรออกมาไหมครับ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 29 กรกฎาคม 2014, 16:35:04
อ้างถึงจาก: killerb ใน 29 กรกฎาคม 2014, 16:18:16
อ้างถึงจาก: pum_pam ใน 29 กรกฎาคม 2014, 16:11:55
อ้างถึงจาก: killerb ใน 29 กรกฎาคม 2014, 16:07:14
ปิด  ob_end_flush(); ที่หน้า tes.php ดูครับ

ลองปิดดูแล้วก็ไม่ได้ค่ะ

checklogin.php กับ tes.php นี่อยู่ใน directory เดียวกันหรือเปล่าครับ แล้วลองเอา copy โค้ดนี้ไปแทนที่ในหน้า tes.php ดูครับ

<?php
ob_start
();
session_start();
header("content-type: text/html; charset=UTF-8");

echo 
'username='.$_SESSION['username'];
echo 
'username='.$_SESSION['name'];

ob_end_flush();
?>


มันมีอะไรออกมาไหมครับ
ออกมาแค่นี้ค่ะ
username=
name=  
อยู่ root นอกสุดเหมือนกันค่ะ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: ยิ้มโค้ด.คอม ใน 29 กรกฎาคม 2014, 17:35:27
อ้างถึงจาก: pum_pam ใน 29 กรกฎาคม 2014, 16:35:04
อ้างถึงจาก: killerb ใน 29 กรกฎาคม 2014, 16:18:16
อ้างถึงจาก: pum_pam ใน 29 กรกฎาคม 2014, 16:11:55
อ้างถึงจาก: killerb ใน 29 กรกฎาคม 2014, 16:07:14
ปิด  ob_end_flush(); ที่หน้า tes.php ดูครับ

ลองปิดดูแล้วก็ไม่ได้ค่ะ

checklogin.php กับ tes.php นี่อยู่ใน directory เดียวกันหรือเปล่าครับ แล้วลองเอา copy โค้ดนี้ไปแทนที่ในหน้า tes.php ดูครับ

<?php
ob_start
();
session_start();
header("content-type: text/html; charset=UTF-8");

echo 
'username='.$_SESSION['username'];
echo 
'username='.$_SESSION['name'];

ob_end_flush();
?>


มันมีอะไรออกมาไหมครับ
ออกมาแค่นี้ค่ะ
username=
name=  
อยู่ root นอกสุดเหมือนกันค่ะ


ที่เทสนี่เทสด้วยการ Login ใหม่เลยน่ะครับ แต่ถ้ายังไม่ได้แล้วคงต้องถามทาง HOst ดูครับ เพราะดูอาการแล้วก็ไม่น่าจะมีอะไรแล้ว
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: tlecreate ใน 29 กรกฎาคม 2014, 23:14:31
ไม่รู้เหมือนผมป่าว session_start(); เอาขึ้น host ใช้ไม่ได้เลย ขึ้น error ต้องสร้าง file ใหม่ที่เครื่อง server แล้วโหลดกลับมาแก้ แล้วอัพขึ้นไป ก็ใช้ได้ ของผมน่าจะเกี่ยวกับ charset ไฟล์มันเป็น ASCI หรือ UTF-8 ต้องอะไหนไม่รู้


แนะนำเพิ่มเติม หน้าก่อน login เก็บ $_SESSION['x'] = session_id(); เพิ่มไปด้วยครับ
หน้า check ให้ check  $_POST['user'] == $row['user'] && $_SESSION['x'] == session_id(); ป้องกันการ ดักแล้วปลอม session ไปใช้อีกเครื่องครับ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 30 กรกฎาคม 2014, 08:01:40
อ้างถึงจาก: pum_pam ใน 29 กรกฎาคม 2014, 16:35:04
อ้างถึงจาก: killerb ใน 29 กรกฎาคม 2014, 16:18:16
อ้างถึงจาก: pum_pam ใน 29 กรกฎาคม 2014, 16:11:55
อ้างถึงจาก: killerb ใน 29 กรกฎาคม 2014, 16:07:14
ปิด  ob_end_flush(); ที่หน้า tes.php ดูครับ

ลองปิดดูแล้วก็ไม่ได้ค่ะ

checklogin.php กับ tes.php นี่อยู่ใน directory เดียวกันหรือเปล่าครับ แล้วลองเอา copy โค้ดนี้ไปแทนที่ในหน้า tes.php ดูครับ

ค่ะทดสอบ login ใหม่เลยค่ะ

<?php
ob_start
();
session_start();
header("content-type: text/html; charset=UTF-8");

echo 
'username='.$_SESSION['username'];
echo 
'username='.$_SESSION['name'];

ob_end_flush();
?>


มันมีอะไรออกมาไหมครับ
ออกมาแค่นี้ค่ะ
username=
name=  
อยู่ root นอกสุดเหมือนกันค่ะ

ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 30 กรกฎาคม 2014, 08:05:30
อ้างถึงจาก: tlecreate ใน 29 กรกฎาคม 2014, 23:14:31
ไม่รู้เหมือนผมป่าว session_start(); เอาขึ้น host ใช้ไม่ได้เลย ขึ้น error ต้องสร้าง file ใหม่ที่เครื่อง server แล้วโหลดกลับมาแก้ แล้วอัพขึ้นไป ก็ใช้ได้ ของผมน่าจะเกี่ยวกับ charset ไฟล์มันเป็น ASCI หรือ UTF-8 ต้องอะไหนไม่รู้


แนะนำเพิ่มเติม หน้าก่อน login เก็บ $_SESSION['x'] = session_id(); เพิ่มไปด้วยครับ
หน้า check ให้ check  $_POST['user'] == $row['user'] && $_SESSION['x'] == session_id(); ป้องกันการ ดักแล้วปลอม session ไปใช้อีกเครื่องครับ
ขอบคุณค่ะ แต่นี่ session ใช้งานได้ค่ะแต่ทำงานในหน้าเดียวกันข้ามหน้า page กลายเป็นค่าว่างค่ะ
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: seowizard ใน 30 กรกฎาคม 2014, 10:07:14
ลองใส่ session_write_close() ก่อนเปลี่ยนไปหน้าอื่น

หรือไม่ก็ลองสร้าง folder ให้ cookie path แล้ว chmod ให้อ่านเขียนได้
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: dekdoo ใน 30 กรกฎาคม 2014, 10:08:49
ในฐานข้อมูลฟิลด์ username และ password ต้องไม่ใช่ค่าว่าง และ username ไม่ซ้ำกับแถวอื่น

ที่หน้า checklogin.php
จากตรงนี้
echo"กำลังเข้าสู่ระบบ<br>";

print_r($_SESSION);

//echo"<meta http-equiv='refresh' content='2;URL=tes.php'>";


ลองแก้เป็น
header('Location: tes.php');
exit();
ชื่อเรื่อง: Re: สอบถาม เขียน code check-login อีกรอบค่ะ
โพสต์โดย: pum_pam ใน 30 กรกฎาคม 2014, 10:27:28
ขอบคุณทุกคนนะคะที่พยายามแก้ปัญหาช่วย ตอนนี้ ระบบ session ใช้งานได้ตามปกติแล้วค่ะสรุปต้อง แก้ session.save_path ไปที่ /tmp ก็ใช้งานได้ปกติแล้วค่ะ ไม่มีปัญหาที่ code ค่ะ