ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingช่วยดูตรวจ Code PHP (data MS SQL) ทำไม loginไม่ผ่าน ไม่เก็บค่า Seeison เลย
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยดูตรวจ Code PHP (data MS SQL) ทำไม loginไม่ผ่าน ไม่เก็บค่า Seeison เลย  (อ่าน 1114 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
modoindy
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 72



ดูรายละเอียด
« เมื่อ: 11 กันยายน 2017, 18:08:20 »

ช่วยดูตรวจ Code PHP (data MS SQL) ทำไม loginไม่ผ่าน ไม่เก็บค่า Seeison เลย

ขอบคุนจ้าล่วงหน้า

****ส่งค่า

<form name="form1" method="post" action="login.php">               
<input name="username" type="text" id="username">
<input name="password" type="text" id="password">
        <input type="submit" name="Submit" value="Login">
   </form>



************************************************

*****รับค่า

<?php
@session_start();

$loginname=$username;
$loginpass=$password;

$objConnect = mssql_connect("111111","sa","10101") or die("Error Connect to Database");
$objDB = mssql_select_db("DATA");
$strSQL = "SELECT * FROM tb WHERE (code = '$loginname') AND (Pass = '$loginpass')" or die("Not Login");
$objQuery = mssql_query($strSQL);
   $objResult = mssql_fetch_array($objQuery);
   if(!$objResult)
   {
   echo "<font color='#ff0000'><b>Username  : !!  ";
      }
   else
   {
   session_register("Sai");
   session_register("Am");
   $_SESSION['Sai'] = $objResult['Sai'];
   $_SESSION['Am'] = $objResult['Am'];
   session_write_close();
   echo"<meta http-equiv='refresh' content='0;URL=admin.php'>";   
}
      

?>




****************************


admin.php

<?php
ob_start();
@session_start();


   if($_SESSION["Sai"] == "")
   {
      header("location:index.php");
      exit();
   }

$Sai = $_SESSION['Sai'] ;
$Am =  $_SESSION['Am'] ;

?>



<img src='images/icon_user.png' border='0' />  <?=$_SESSION['Sai']?>

ไม่เข้าถึงหน้านี้เลย  ดีดกลับไปหน้า login
[/size][/color]
บันทึกการเข้า
iCeEffecT
คนรักเสียว
*

พลังน้ำใจ: 14
ออฟไลน์ ออฟไลน์

กระทู้: 177



ดูรายละเอียด
« ตอบ #1 เมื่อ: 11 กันยายน 2017, 18:38:59 »

น่าจะเป็นที่ hosting ส่วนใหญ่ตอนนี้ php 5.6 ขึ้นไป session_register ถูกยกเลิกการใช้งานแล้วครับ ทางแก้คือเปลี่ยนคำสั่งบันทึก session ครับ จากโค้ดด้านบนลบ 2 บรรทัดที่เป็น session_register ออกในไฟล์แรก และไฟล์ admin ลองเปลี่ยน เอาคำสั่ง @session_start() ไปไว้บนสุด ก่อนคำสั่ง ob_start(); ดูครับ น่าจะใช้งานได้ครับ

ขอแนะนำว่าเวลาใช้งานถ้ามันรันคำสั่งไหนแล้วไม่ได้แบบที่ต้องการให้ลบเครื่องหมาย @ ออกเพื่อเปิด debug คำสั่ง มันจะได้พ่น error มาว่าสาเหตุที่ทำงานไม่ได้เพราะอะไรครับ พอคำสั่งใช้งานได้แล้วค่อยไปปิด debug ไว้ครับ
บันทึกการเข้า
esanza.com
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 270
ออฟไลน์ ออฟไลน์

กระทู้: 3,673



ดูรายละเอียด
« ตอบ #2 เมื่อ: 11 กันยายน 2017, 20:07:43 »

น่าจะเป็นที่ hosting ส่วนใหญ่ตอนนี้ php 5.6 ขึ้นไป session_register ถูกยกเลิกการใช้งานแล้วครับ ทางแก้คือเปลี่ยนคำสั่งบันทึก session ครับ จากโค้ดด้านบนลบ 2 บรรทัดที่เป็น session_register ออกในไฟล์แรก และไฟล์ admin ลองเปลี่ยน เอาคำสั่ง @session_start() ไปไว้บนสุด ก่อนคำสั่ง ob_start(); ดูครับ น่าจะใช้งานได้ครับ

ขอแนะนำว่าเวลาใช้งานถ้ามันรันคำสั่งไหนแล้วไม่ได้แบบที่ต้องการให้ลบเครื่องหมาย @ ออกเพื่อเปิด debug คำสั่ง มันจะได้พ่น error มาว่าสาเหตุที่ทำงานไม่ได้เพราะอะไรครับ พอคำสั่งใช้งานได้แล้วค่อยไปปิด debug ไว้ครับ
ตามท่านนี้คับ
กำลังจะทักเรื่อง session_register พอดีคับ
บันทึกการเข้า

ใครต้องการเช่าโฮสที่มี Control Panel ดีๆ
และ Support ดี แนะนำ => โฮสอะตอม
goragod
ก๊วนเสียว
*

พลังน้ำใจ: 45
ออฟไลน์ ออฟไลน์

กระทู้: 221



ดูรายละเอียด
« ตอบ #3 เมื่อ: 11 กันยายน 2017, 20:58:08 »

ใช้ PHP 5.2 เคยสินะ แนะนำให้ปรับวิธีการเขียนโดยด่วน

การรับค่าจากฟอร์มต้องรับด้วย $_GET หรือ $_POST ในกรณีข้างบนน่าจะเป็น

$loginname=$_POST['username'];
$loginpass=$_POST['password'];

หรือใช้ filter_input() เพื่อความปลอดภัยที่สูงกว่า
บันทึกการเข้า

modoindy
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 72



ดูรายละเอียด
« ตอบ #4 เมื่อ: 13 กันยายน 2017, 10:16:43 »

Thk คุณ goragod

Thk คุณ esanza com

Thk คุณ iCeEffecT


เดี่ยวขอลอง ขอบคุณมากเลยน่ะ น้ำใจงาม  wanwan008 Embarrassed
บันทึกการเข้า
modoindy
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 72



ดูรายละเอียด
« ตอบ #5 เมื่อ: 13 กันยายน 2017, 11:53:40 »

น่าจะเป็นที่ hosting ส่วนใหญ่ตอนนี้ php 5.6 ขึ้นไป session_register ถูกยกเลิกการใช้งานแล้วครับ ทางแก้คือเปลี่ยนคำสั่งบันทึก session ครับ จากโค้ดด้านบนลบ 2 บรรทัดที่เป็น session_register ออกในไฟล์แรก และไฟล์ admin ลองเปลี่ยน เอาคำสั่ง @session_start() ไปไว้บนสุด ก่อนคำสั่ง ob_start(); ดูครับ น่าจะใช้งานได้ครับ

ขอแนะนำว่าเวลาใช้งานถ้ามันรันคำสั่งไหนแล้วไม่ได้แบบที่ต้องการให้ลบเครื่องหมาย @ ออกเพื่อเปิด debug คำสั่ง มันจะได้พ่น error มาว่าสาเหตุที่ทำงานไม่ได้เพราะอะไรครับ พอคำสั่งใช้งานได้แล้วค่อยไปปิด debug ไว้ครับ
ตามท่านนี้คับ
กำลังจะทักเรื่อง session_register พอดีคับ



ได้ลองทดสอบ  แล้ว $objConnect = mysql_connect  session ทำงานตามปกติ แต่ ทำไม
               $objConnect = mssql_connect   session ไม่ทำงาน เกิดจากอะไรเหอร  
                ทั้ง 2data login เข้าได้แต่ไม่เก็บค่า session   
          ของ mssql
« แก้ไขครั้งสุดท้าย: 13 กันยายน 2017, 11:54:13 โดย modoindy » บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์