|
|
|
สอบถามการดึง SESSION มีปัญหาเวลา add ข้อมูล เปลี่ยนชื่อผู้เข้าใช้ ก่อนออกจากระบบค่ะ |
|
|
|
|
|
|
|
ขอบคุณล่วงหน้านะคะ ปัญหาคือ เพิ่มข้อมูล เปลี่ยนชื่อผู้ใช้ ก่อนออกจากระบบนะคะ
|
|
|
|
|
Date :
2013-09-16 10:36:54 |
By :
bluebee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อัพเดทเสร็จ กำหนด
$_SESSION["admin_user"]=$_POST['user'];
ใหม่เป็นค่าที่เราแก้ไขดูครับ
|
|
|
|
|
Date :
2013-09-16 10:43:00 |
By :
pokultra |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หน้า check ข้อมูล
<?
ob_start();
session_start();
?>
<?
//=========== ตรวจสอบการ login
require('../connect/connect.php');
// Check ถ้าเป็น Admin
$sql = "select * from admin where admin_user='$_POST[user]' and admin_pass='$_POST[pass]'";
$dbquery = mysql_query($sql);
$result= mysql_fetch_array($dbquery);
if($result)
{
//=========== บันทึกข้อมูลการ login ลง Session
$_SESSION["admin_user"]=$_POST['user'];
$_SESSION["admin_pass"]=$_POST['pass'];
$_SESSION["status"]="admin";
$_SESSION["adminlogin"]=true;
session_write_close();
header('location:admin_menu.php');
}
else
{
echo"<br><br><center>username หรือ password ไม่ถูกต้อง<br><br><br> | <a href='javascript:history.back()'>กลับไปแก้ไข</a> |<br><br>";
}
?>
แก้ไขแล้วค่ะ แต่ไม่โชว์ชื่อ ตัวอย่างหน้า login
<?
ob_start();
session_start();
if($_SESSION["adminlogin"]=="")
{
header('location:index.php');
exit();
}
//============ Start Session และทำการเรียก Function ติดต่อฐานข้อมูล
require_once('../connect/connect.php');
require("../connect/function.php");
?>
<? echo "ยินดีต้อนรับ คุณ.. "; echo $_SESSION["admin_user"]=$_POST['user'];?>
หน้าแรก login เข้าได้ ชื่อปรากฎ
คลิกหน้าอื่น ไม่โชว์ชื่อ
ต้องแก้ยังไงค่ะ ขอบคุณค่ะ
|
ประวัติการแก้ไข 2013-09-16 17:24:33
|
|
|
|
Date :
2013-09-16 17:23:15 |
By :
bluebee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<? echo "ยินดีต้อนรับ คุณ.. "; echo $_SESSION["admin_user"]=$_POST['user'];?>
ค่าของ $_SESSION["admin_user"] ตัวนี้มันรับค่ามาจากการ Login แล้วใช่ไหมครับ
แต่พอคุณมาใส่ค่าให้มันอีก จากการรับค่า $_POST['user'] ซึ้งผมเดาว่าค่าที่ส่งมามันเป็นค่าว่าง
หลังตาก echo session ออกมาเลยไม่มีอะไรขึ้นครับ
Code (PHP)
<? echo "ยินดีต้อนรับ คุณ.. "; echo $_SESSION["admin_user"];?>
ลองแบบนี้ดูครับ
|
|
|
|
|
Date :
2013-09-16 17:46:04 |
By :
jackkichan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$_SESSION["admin_user"]=$_POST['user'];
ควรเป็นค่าที่มาจาก database ดีกว่าครับเพราะว่าถ้าใช้ $_POST[''] หากเกิดมีคนอื่น login ใช้งานตอนที่อีกคนใช้อยู่ $_SESSION["admin_user"] จะเปลี่ยนค่าไป ซึ่งจะทำให้ข้อมูลผิดพลาดได้ในภายหลัง
|
|
|
|
|
Date :
2013-09-16 17:53:12 |
By :
Manussawin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาหน้า update ข้อมูลมาดูหน่อยครับ ตรงส่วนที่ต้องการจะเปลี่ยนชื่ออ่ะครับ
|
|
|
|
|
Date :
2013-09-16 18:09:49 |
By :
pokultra |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หน้า check ข้อมูล
<?
ob_start();
session_start();
?>
<?
//=========== ตรวจสอบการ login
require('../connect/connect.php');
// Check ถ้าเป็น Admin
$sql = "select * from admin where admin_user='$_POST[user]' and admin_pass='$_POST[pass]'";
$dbquery = mysql_query($sql);
$result= mysql_fetch_array($dbquery);
if($result)
{
//=========== บันทึกข้อมูลการ login ลง Session
$_SESSION["admin_user"]=$_POST['user'];
$_SESSION["admin_pass"]=$_POST['pass'];
$_SESSION["status"]="admin";
$_SESSION["adminlogin"]=true;
session_write_close();
header('location:admin_menu.php');
}
else
{
echo"<br><br><center>username หรือ password ไม่ถูกต้อง<br><br><br> | <a href='javascript:history.back()'>กลับไปแก้ไข</a> |<br><br>";
}
?>
หน้า Login
<?
ob_start();
session_start();
if($_SESSION["adminlogin"]=="")
{
header('location:index.php');
exit();
}
//============ Start Session และทำการเรียก Function ติดต่อฐานข้อมูล
require_once('../connect/connect.php');
require("../connect/function.php");
?>
<? echo "ยินดีต้อนรับ คุณ.. "; echo $_SESSION["admin_user"];?>
หน้า เพิ่มข้อมูล
<?
ob_start();
session_start();
if($_SESSION["adminlogin"]=="")
{
header('location:index.php');
exit();
}
//============ Start Session และทำการเรียก Function ติดต่อฐานข้อมูล
require_once('../connect/connect.php');
?>
<?
$admin_name = $_POST['admin_name'];
$admin_sname = $_POST['admin_sname'];
$admin_address = $_POST['admin_address'];
$admin_tel = $_POST['admin_tel'];
$admin_email = $_POST['admin_email'];
$admin_fax = $_POST['admin_fax'];
$admin_user = $_POST['admin_user'];
$admin_pass = $_POST['admin_pass'];
if($admin_name!="" and $admin_sname!="" and $admin_address!="" and $admin_tel!="" and $admin_email!="" and $admin_user!="" and $admin_pass!=""){
include "../connect/connect.php";
$sql_add_admin = "INSERT INTO admin VALUES ('','$admin_name','$admin_sname','$admin_address','$admin_tel','$admin_email','$admin_fax','$admin_user','$admin_pass')";
$query_add_admin= mysql_query($sql_add_admin);
if ($query_add_admin) {
echo "เพิ่มข้อมูล admin เรียบร้อยแล้ว";
echo "<meta http-equiv=\"refresh\" content=\"2; url=admin_menu.php\" />";
} else {
echo "ไม่สามารถเพิ่มข้อมูล admin ได้";
echo "<meta http-equiv=\"refresh\" content=\"2; url=admin_menu.php\" />";
}
}else{
echo "คุณกรอกข้อมูลไม่ครบหรือกรอกผิด กรุณาทำรายการใหม่";
echo "<meta http-equiv=\"refresh\" content=\"2; url=admin_form.php\" />";
}
?>
1. Login
2. เพิ่มข้อมูล username : yaya
3. แสดง login yaya
คือว่าตอนแรกดึง $_SESSION["admin_user"] แสดงทุกหน้าค่ะ แต่มีปัญหาเวลาเพิ่มข้อมูลเสร็จแล้ว ตรงแสดงชื่อ login มันเปลี่ยน ... ทั้ง ๆ ที่ต้องออกจากระบบ แล้ว login เข้าใหม่ ไม่เข้าใจว่าต้องแก้ตรงไหนนะคะ
ขอบคุณสำหรับทุกความช่วยเหลือค่ะ
|
ประวัติการแก้ไข 2013-09-16 20:46:21
|
|
|
|
Date :
2013-09-16 20:43:59 |
By :
bluebee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$_SESSION["admin_user"]=$_POST['user'];
เอาอันนี้ออกครับ :v
|
|
|
|
|
Date :
2013-09-16 20:53:13 |
By :
itpcc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตกลงคืออยากให้มันแก้ได้ แต่ยังไม่อยากให้เปลี่ยน
จะเปลี่ยนเมื่อ loginเข้ามาใหม่ใช่ไหมครับ T_T
|
|
|
|
|
Date :
2013-09-17 12:19:51 |
By :
pokultra |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่ค่ะ เพิ่มข้อมูลได้ แต่ยังไม่อยากให้เปลี่ยนจนกว่าจะ login เข้ามาใหม่
|
|
|
|
|
Date :
2013-09-17 22:01:38 |
By :
bluebee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนชื่อตัวแล้วตอน insert ดูครับ
$admin_user = $_POST['admin_user'];
$admin_user น่าจะไปทับใน session
|
|
|
|
|
Date :
2013-09-18 00:06:14 |
By :
ผ่านมา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลืม
<? echo "ยินดีต้อนรับ คุณ.. "; echo $_SESSION["admin_user"]=$_POST['user'];?>
อันนี้ก็ต้องแก้ตาม No. 4 น่ะครับ
|
|
|
|
|
Date :
2013-09-18 00:09:51 |
By :
ผ่านมา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ แก้ได้แล้วนะคะ งมมาหลายวันเลย
ลองเปลี่ยนชื่อตัวแล้วตอน insert ดูครับ
$admin_user = $_POST['admin_user'];
$admin_user น่าจะไปทับใน session
|
|
|
|
|
Date :
2013-09-18 10:11:06 |
By :
bluebee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|