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

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

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

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

กระทู้: 1,398



ดูรายละเอียด เว็บไซต์
« เมื่อ: 09 มีนาคม 2012, 10:24:13 »

รบกวนชี้แนะทีนะคะ login แล้วไม่ยอมเก็บค่า session ค่ะ


โค๊ด:
<?php session_start(); ?>

<?
if(isset($_SESSION["member"])){
                 
$sess_member=$_SESSION["member"];
echo "<p align='center' style='padding-right:10px;'>Welcome"." ". $_SESSION["member"];echo "<br><p align='center'> <a href='logout.php'>ออกจากระบบ</a></p>";

                     }else{
                   echo  "กรุณากรอก อีเมล และ รหัสผ่าน ของท่านด้านล่างนี้ค่ะ<br>

<form id='frm' name='frm' method='post' action='chk_user.php'>
<table width='100%' border='0' cellspacing=0' cellpadding='5'>
                                <tr>
                                  <td width='29%'>อีเมลในการเข้าสู่ระบบ :</td>
                                  <td width='71%'><input id='login' type='text' class='uiButton' name='login'></td>
                                </tr>
                                <tr>
                                  <td>รหัสผ่าน :</td>
                                  <td><input id='password' type='password' class='uiButton' name='password'></td>
                                </tr>
   <tr>
                                  <td colspan='2' align='center'><input type='submit' value='Login'  class='uiButton'/></td>
                                </tr>
             
            </table>

         </form>"?>
<? }?>

ไฟล์ chk_user.php
โค๊ด:
<?php session_start(); ?>
<?php

$login 
$_POST['login'];
$pass $_POST['password'];
include(
"../../include/config.php");
$conn=mysql_connect("$host","$user","$password") or die ("$text");
mysql_db_query($db,"SET NAMES tis620"); 
$passsubstr(md5($pass),3,8);
$sql="SELECT * FROM `member` WHERE `email` = '$login' AND `pass` = '$pass'  LIMIT 1 ";
$query=mysql_query($sql);
if(
mysql_fetch_array($query)==0){

     echo "<p align='center'>username หรือ password ผิดพลาด";
 echo "<br><a href='login2.php'>กรุณากลับไป log in อีกครั้ง</a>";
 exit();
}
else{
$row mysql_fetch_array($query);
 
if(!empty($_SESSION['member'])){
$_SESSION['member'] = $_POST['member'];
header("Refresh:3; url=../product/product.php");
echo "ท่านได้เข้าสู่ระบบแล้ว";

echo "<p align='center'>Welcome" .' '$_SESSION["member"]; // ไม่แสดงชื่อที่ลอคอินเข้ามาคะ
echo "<br>You are login already.";


}
mysql_close($conn);
บันทึกการเข้า

yogolas101
สมุนแก๊งเสียว
*

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

กระทู้: 573



ดูรายละเอียด
« ตอบ #1 เมื่อ: 09 มีนาคม 2012, 10:32:45 »

ไฟล์ chk_user.php
จาก
โค๊ด:
$_SESSION['member'] = $_POST['member'];


เป็น
โค๊ด:
$_SESSION['member'] = $_POST['login'];


ดูได้จาก
โค๊ด:
<input id='login' type='text' class='uiButton' name='login'>
บันทึกการเข้า

SG14
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,398



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 09 มีนาคม 2012, 10:34:15 »

อยากทราบว่า $_SESSION['member']  member จำเป็นต้องเป็นชื่อฟิลในดาต้าเบสไหมคะ
บันทึกการเข้า

katizero
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,171



ดูรายละเอียด
« ตอบ #3 เมื่อ: 09 มีนาคม 2012, 10:38:20 »

อยากทราบว่า $_SESSION['member']  member จำเป็นต้องเป็นชื่อฟิลในดาต้าเบสไหมคะ


ผมว่าจำเป็นนะ
บันทึกการเข้า
yogolas101
สมุนแก๊งเสียว
*

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

กระทู้: 573



ดูรายละเอียด
« ตอบ #4 เมื่อ: 09 มีนาคม 2012, 10:41:12 »

อยากทราบว่า $_SESSION['member']  member จำเป็นต้องเป็นชื่อฟิลในดาต้าเบสไหมคะ

ลองใส่เป็นอย่างอื่นดูครับ
บันทึกการเข้า

guzzilar
Verified Seller
ก๊วนเสียว
*

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

กระทู้: 494



ดูรายละเอียด
« ตอบ #5 เมื่อ: 09 มีนาคม 2012, 10:41:57 »

อยากทราบว่า $_SESSION['member']  member จำเป็นต้องเป็นชื่อฟิลในดาต้าเบสไหมคะ
ไม่จำเป็นครับ อยู่ที่เราจะเซ็ทชื่อมันว่าอะไร และจะให้ค่ามันเป็นอะไร เพื่อจะเอาไปตรวจสอบขั้นตอนต่อไป

$_session['isMember'] = TRUE; ก็ใช้ได้

-------------------------
แอบเพิ่มเติมนิด อันนี้แล้วแต่เทคนิคแต่ละคน
แต่ถ้าจะนับ row ว่า query ออกมาได้มากกว่า 0 มั้ย ปกติผมจะใช้ mysql_num_rows แทนฮะ (รู้สึกมันตรงจุดประสงค์ดี ฮ่าๆๆ)
แล้วก็
โค๊ด:
mysql_db_query($db,"SET NAMES tis620"); 
ใช้แค่
โค๊ด:
mysql_query($db,"SET NAMES tis620"); 

ก็ได้นะครับ (อีกอย่าง อยากแนะนำให้ใช้ font encode พวกนี้เป็น utf-8 ซะมากกว่านะ (ผมรู้สึกมันเป็นสากลดี)

แล้วก็ ตอน SELECT เพื่อเช็ค ไม่จำเป็นต้องกำหนด limit ก็ได้ฮะ (เพราะปกติ ค่า user login มันก็ไม่ควรซ้ำหรือมีมากกว่า 1 อยู่แล้ว)


ปล.เป็นข้อมูลเล็กๆน้อยๆครับ  wanwan019 (แต่ก็นะ เทคนิคใครเทคนิคมัน ฮ่าๆๆ)
บันทึกการเข้า

Rest in Home
SG14
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,398



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 09 มีนาคม 2012, 10:49:13 »

ขอบคุณทุกความเห็นคะ
ขอลองทดสอบดูก่อนนะคะ ถ้ามีปัญหาจะมาถามต่อนะคะ wanwan017
บันทึกการเข้า

p44n
Verified Seller
สมุนแก๊งเสียว
*

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

กระทู้: 676



ดูรายละเอียด
« ตอบ #7 เมื่อ: 09 มีนาคม 2012, 11:13:46 »

ปกติผมจะ เก็บ id ของ member เวลาเอาไปใช้งานมันจบ

แต่ชื่อ session ต้องใช้ชื่อแปลกๆ เดาไม่ได้
« แก้ไขครั้งสุดท้าย: 09 มีนาคม 2012, 11:14:58 โดย p44n » บันทึกการเข้า

Python, PHP OOP, MVC CodeIgniter, MongoDB, MySQL, MsSQL ,CSS Tableless, Responsive Design, Cross-platform, Javascript, jQuery, AngularJS, NodeJS,  Fackbook API, Paypal API, Omise API, Google Map API, C# Window Applications, .NET Framework, JAVA (Android Developer, JSP), Hybrid Application with Cordova + Ionic Framework, ReactJS, React Native
MeenyFancy
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,270



ดูรายละเอียด
« ตอบ #8 เมื่อ: 09 มีนาคม 2012, 17:32:28 »

ปกติผมจะ เก็บ id ของ member เวลาเอาไปใช้งานมันจบ

แต่ชื่อ session ต้องใช้ชื่อแปลกๆ เดาไม่ได้

ตามนั้น เปลี่ยนชื่อ session สักนิด
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์