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

เริ่มโดย SG14, 09 มีนาคม 2012, 10:24:13

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

SG14

รบกวนชี้แนะทีนะคะ 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

ไฟล์ chk_user.php
จาก
$_SESSION['member'] = $_POST['member'];

เป็น
$_SESSION['member'] = $_POST['login'];


ดูได้จาก
<input id='login' type='text' class='uiButton' name='login'>
[direct=]..[/direct]

SG14

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

katizero

อ้างถึงจาก: SG14 ใน 09 มีนาคม 2012, 10:34:15
อยากทราบว่า $_SESSION['member']  member จำเป็นต้องเป็นชื่อฟิลในดาต้าเบสไหมคะ


ผมว่าจำเป็นนะ

yogolas101

อ้างถึงจาก: SG14 ใน 09 มีนาคม 2012, 10:34:15
อยากทราบว่า $_SESSION['member']  member จำเป็นต้องเป็นชื่อฟิลในดาต้าเบสไหมคะ

ลองใส่เป็นอย่างอื่นดูครับ
[direct=]..[/direct]

guzzilar

อ้างถึงจาก: SG14 ใน 09 มีนาคม 2012, 10:34:15
อยากทราบว่า $_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

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

p44n

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

แต่ชื่อ session ต้องใช้ชื่อแปลกๆ เดาไม่ได้
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

อ้างถึงจาก: p44n ใน 09 มีนาคม 2012, 11:13:46
ปกติผมจะ เก็บ id ของ member เวลาเอาไปใช้งานมันจบ

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

ตามนั้น เปลี่ยนชื่อ session สักนิด
Have a good trip.
[direct=http://petdeecare.com]สุนัขป่วย[/direct] [direct=http://petdeecare.com]แมวป่วย[/direct]
[direct=http://petdeecare.com]หนูป่วย[/direct] [direct=http://petdeecare.com]อาหารแมว[/direct] [direct=http://petdeecare.com]อาหารหมา[/direct]