imported_alî
New Member
سلام و روز نو مبارک
سوال: دو تا صفحه دارم، صفحه اصلی و صفحه کاربر
کد صفحه اصلی من اینه
و کد صفحه کاربر اینه:
من با استفاده از کد زیر که از یه کتاب کپی کردم، توابع مربوط به خواندن و نوشتن در session و دیگر توابع مورد نیاز رو در یه فایل نوشتم و include کردم:
حالا مشکل:
با لینکی که تو صفحه اول هست به صفحه کاربر می رم، اما تو اون صفحه که باید نام کاربر رو نشون بده (نامی که در صفحه اصلی ست شده)، هیچی نشون نمی ده.
تو دیتابیس بدرستی ذخیره می شه ولی فیلد Data با null مقدار دهی میشه!
با تشکر
سوال: دو تا صفحه دارم، صفحه اصلی و صفحه کاربر
کد صفحه اصلی من اینه
PHP:
<?php
require_once('Sess_Hdl.php');
mysql_connect("localhost", "root", "");
mysql_select_db("ali");
session_set_save_handler("sess_open", "sess_close", "sess_read",
"sess_write", "sess_destroy", "sess_gc");
session_start( );
$_SESSION['uName'] = "ali Gholami";
?>
<a href="User.php">User</a>
PHP:
<?php
require_once('Sess_Hdl.php');
mysql_connect("localhost", "root", "");
mysql_select_db("ali");
session_set_save_handler("sess_open", "sess_close", "sess_read",
"sess_write", "sess_destroy", "sess_gc");
session_start( );
echo $_SESSION['uName'];
?>
<a href="index.php">Home</a>
PHP:
<?php
function sess_open($sess_path, $sess_name)
{
return true;
}
function sess_close( )
{
return true;
}
function sess_read($sess_id)
{
$result = mysql_query("SELECT Data FROM sessions WHERE SessionID
= '$sess_id';");
$CurrentTime = time( );
if (!mysql_num_rows($result))
{
mysql_query("INSERT INTO sessions (SessionID, DateTouched)
VALUES ('$sess_id', $CurrentTime);");
return '';
}
else
{
extract(mysql_fetch_array($result), EXTR_PREFIX_ALL, 'sess');
mysql_query("UPDATE sessions SET DateTouched = $CurrentTime
WHERE SessionID = '$sess_id';");
$row = mysql_fetch_assoc($result);
return $sess_Data;
}
}
function sess_write($sess_id, $data)
{
$CurrentTime = time( );
mysql_query("UPDATE sessions SET Data = '$data', DateTouched =
$CurrentTime WHERE SessionID = '$sess_id';");
return true;
}
function sess_destroy($sess_id)
{
mysql_query("DELETE FROM sessions WHERE SessionID = '$sess_id';");
return true;
}
function sess_gc($sess_maxlifetime)
{
$CurrentTime = time( );
mysql_query("DELETE FROM sessions WHERE DateTouched + $sess_
maxlifetime < $CurrentTime;");
return true;
}
?>
با لینکی که تو صفحه اول هست به صفحه کاربر می رم، اما تو اون صفحه که باید نام کاربر رو نشون بده (نامی که در صفحه اصلی ست شده)، هیچی نشون نمی ده.
تو دیتابیس بدرستی ذخیره می شه ولی فیلد Data با null مقدار دهی میشه!
با تشکر