09/10/2018, 22:43

đăng ký session data ???

chào các bác.
tui mới học lập trình web cho nên nhiều vấn đề không hiểu. Xin các bác chỉ giúp tớ cái đăng ký session data trên mạng cục bộ cũng như khi úp lên nét.
rất mong được hướng dẫn cụ thể.
pixelart viết 00:49 ngày 10/10/2018
ban dùng session_register để tạo mới 1 session. Nhớ là trước mỗi file phải cho dòng session_start(); vào nhé

VD nhé:

$u = "hongson";
session_register("u");
lehuong viết 00:59 ngày 10/10/2018
cảm ơn pixelart đã trả lời cho tớ nhưng tó thấy vẫn cứ lỗi. thông báo cụ thể như sau :
Warning: Undefined variable: suid in c:\inetpub\wwwroot\ch11\doreg.php on line 54.
Mặc dù tớ cũng đăng ký biến suid hẳn hoi đó chứ. các bác có thể xem đoạn code sau, tớ tham khảo trong sách đó.

<?php
session_start();
session_register("suid");
require("../dbcon.inc");
require("../common.php");
if($HTTP_POST_VARS{"from_"}=="newuser")
{
$sql="insert into tblUsers(Username,password,";
$sql .="fullname,address,tel,city,province)";
$sql .=" values('";
$sql .=repl($HTTP_POST_VARS{"txtUser"})."','";
$sql .=repl($HTTP_POST_VARS{"txtPWD"})."','";
$sql .=repl($HTTP_POST_VARS{"txtFullName"})."','";
$sql .=repl($HTTP_POST_VARS{"txtAddress"})."','";
$sql .=repl($HTTP_POST_VARS{"txtTel"})."','";
$sql .=repl($HTTP_POST_VARS{"txtCity"})."','";
$sql .=$HTTP_POST_VARS{"cbProvince"}."')";

}
else
{
$sql="Update tblUsers set password='";
$sql .=repl($HTTP_POST_VARS{"txtPWD"});
$sql .="',fullname='";
$sql .=repl($HTTP_POST_VARS{"txtFullName"});
$sql .="',address='";
$sql .=repl($HTTP_POST_VARS{"txtAddress"});
$sql .="',Tel='";
$sql .=repl($HTTP_POST_VARS{"txtTel"});
$sql .="',City='";
$sql .=repl($HTTP_POST_VARS{"txtCity"});
$sql .="',Province='";
$sql .=$HTTP_POST_VARS{"cbProvince"}."'";
$sql .=" where UserID='" .$suid."'";
}
$result = mysql_query($sql,$link);
mysql_close($link);
?>
<html>
<head>
<title>
Welcome to InterShop
</title>
<link rel="stylesheet"
type="text/css" href="../style.css">
</head>

<body><div class=text_header><br>
Congratulation!</div><br><hr>
<table border =0 width="400">
<tr>
<td align="left" class="content-sm">
<?php
if($suid!="")
echo "Your account has been updated!.";
else
echo "Your account has been registerd!.";
?>

<br>
Thank you for using our service.
</td>
</tr> </form>
</table>
</body>
</html>
mong được giúp đỡ.
lehuong viết 00:50 ngày 10/10/2018
Vì đây là trang đăng ký mới cho nên biến $suid không được lấy từ trang nào cả. nhưng nó được cài theo kiểu autonumber cho mỗi lần tạo mới một thành viên trong cơ sở dữ liệu . Nếu cho giá trị cụ thể thì chạy không có báo lỗi. vậy thì phải làm sao đây hả các bác.mong giúp đỡ
Pfiev_k47 viết 00:54 ngày 10/10/2018
Theo suy luận của mình thì đây là 1 trang xử lý thôi.Nó được gọi khi ai đó đăng ký hoặc thành viên nào đó (có UserId trong csdl là biến uid)thay đổi thông tin cá nhân của họ.Vì thế bạn cần bỏ hàm session_register(uid) ở trang này đi(vì $uid đã được đăng ký và set giá trị =giá trị của UserID của thành viên nàytrong csdl,khi thành viên đăng nhập để sửa thông tin cá nhân hoặc làm gì đó...).
Hai trang đăng ký hoặc thay đổi thông tin của thành viên chắc cũng có trong sách rồi
lehuong viết 00:51 ngày 10/10/2018
cảm ơn các bác đã nhiệt tình nghiên cứu ủng hộ, giờ đây tớ đã phát hiện ra cái sai của tớ rồi. phải cho cái $suid="" ; trước khi đăng ký chúng vì đây là trang đưng ký mới nên chúng chưa có giá trị.
dan_mien_que viết 00:47 ngày 10/10/2018
Ôn bạn này dùng php phiên bản mấy vậy? mình đang làm thử cái phần login của trang web của mình, tui dùng php 5.03 dùng windows xp nhưng cứ bị lỗi session hoài bực mình quá!

Sau khi login qua database được rồi, mình set nó như sau:
$_SESSION['valid']="yes";

Rồi redirect nó qua trang khác nhưng qua đây thì
if ($_SESSION['valid']=="yes")
{
cho vào
}
else{
đưa tới trang login
}

$_SESSION không hoạt động! Nếu không solve được problem chắc phải đổi PHP khác quá, có người trong forum khác nói dùng PHP3.02 thì được.
lehuong viết 00:56 ngày 10/10/2018
Tớ chỉ mới biết sơ sơ thôi nhưng tớ đang dùng cái PHP 4.3.1 tớ chỉ mới login được trên máy đơn và LAN, còn úp lên nét tớ chưa biết làm sao đây. vì khi làm trên máy đơn cái mục session data mình có trên đĩa còn khi post lên host thì session data đó server có hổ trợ không ? và cho tớ hỏi thêm một chut nữa, nếu mình làm trên máy đơn khi úp lên nét bê nguyên xi như vậy có được không ? chỉ trừ thay đổi các host và username. mong được giúp đỡ.
Vinhie47 viết 00:55 ngày 10/10/2018
dĩ nhiên là khi up lên net thì nó vẫn chạy bình thường, cái thư mục chứa session nó đặt ở chỗ khác mà người đăng kí host không nhìn thấy được.
Mà làm gì phải cho
PHP Code:
$suid="" 
nhỉ, thử cho cái $suid="cái gì đó" vào sau session_register("u"); xem nào

to: dan_mien_que ông bạn chắc là dùng IIS hả, tốt nhất là đổi sang apache đi, tốt nữa là dùng cái bản nào có cả apache+php+... đi.
dan_mien_que viết 00:59 ngày 10/10/2018
Quote Được gửi bởi Vinhie47
to: dan_mien_que ông bạn chắc là dùng IIS hả, tốt nhất là đổi sang apache đi, tốt nữa là dùng cái bản nào có cả apache+php+... đi.
Không mình dùng windows XP với Apache2triad. Trong này có đủ món ăn chơi rồi. BigApache có nhiều món ăn chơi hơn nữa!
Bài liên quan
0