09/10/2018, 23:02

Form login PHP (lỗi session or lỗi gì ?)

Mình có trang login được include trong trang index.php

PHP Code:
....
$_SESSION***91;"s_username"***93; =$username;                
$_SESSION***91;"s_password"***93;=$user_password;
$s_username=$_SESSION***91;"s_username"***93;;
$s_password=$_SESSION***91;"s_password"***93;;    
session_register("s_username");
session_register("s_password");    
echo 
"Login Successfull !";
***91;
B***93;redirect("index.php");***91;/B***93;
.... 
Nếu dừng ở đây thì Form kiểm tra đã chạy tốt & có thể echo được tất cả các biến.
Nhưng khi để redirect về trang chủ :

PHP Code:
if($s_username=="")
    

echo 
"<a href='index.php?act=login'>Login</a>"
}
else
{
echo 
$s_username;
echo ...

thì đoạn code trên không thể lấy $s_username
Bác nào biết lỗi xin chỉ giúp ? cảm ơn các bác nhiều !
binhvn viết 01:12 ngày 10/10/2018
bạn thử lấy như thế này coi.
PHP Code:
if($_SESSION***91;'s_username'***93;==""){  
   echo 
"<a href='index.php?act=login'>Login</a>";  

else { 
   echo 
$_SESSION***91;'s_username'***93;;
   echo ... 

Nhân Tâm viết 01:12 ngày 10/10/2018
Như cách của bác thì có lúc được lúc không . không biết có phải do server không bác ?
kid08 viết 01:18 ngày 10/10/2018
$_SESSION["s_username"] =$username;
$_SESSION["s_password"]=$user_password;
$s_username=$_SESSION["s_username"];
$s_password=$_SESSION["s_password"];
session_register("s_username");
session_register("s_password");
echo "Login Successfull !";
redirect("index.php");

làm gì mà gọi sesion lằng nhằng thế này, chỉ cần $_SESSION["s_username"] =$username; là đc rồi mà
binhvn viết 01:09 ngày 10/10/2018
bác viết lại cái code của trang login coi:
PHP Code:
<?php
session_start
();

$username $_POST***91;'username'***93;;
$password $_POST***91;'password'***93;;

/**
 * Kiem Tra user and pass tại đây
 **/

/**
 * Neu đang nhập thành công
 * gán giá trị cho các biến session
 **/

$_SESSION***91;'s_username'***93; = $username;
$_SESSION***91;'s_password'***93; = $password;
?>
tyno viết 01:08 ngày 10/10/2018
Bởi vì register_global(trong php.ini) đc đặt bằng off(thường tôi nhớ các sever hay đặt bằng off), và mặc địnhk cũng off luôn!
Nêu bật thành on thì ko cần phải chỉ rõ $_SESSION!
Tuy nhiên, ko nên làm như vậy, chịu khó dùng $_POST,$_GET...
Thây vi đặt on rồi chỉ dùng tên biến
binhvn viết 01:09 ngày 10/10/2018
nếu server mà bật register_globals = on thì có thể bị hack tơi bời đó, nếu phát triển web trên nền PHP thì tốt nhất cấu hình server nên tắt register_globals, bật safe_mode , sử dụng các biến $_POST, $_GET sẽ tốt hơn đó
Bài liên quan
0