redevills

آموزش Sessions یا جلسه در php

2 پست در این موضوع

توی اینترنت همه آموزش ها یکی بودن

این بهترین آموزش بود

در یک جلسه هر چند تا متغیر که بخواهید می توانید برای جلسه تان ایجاد نمائید و این متغیر ها در تمام صفحات وب سایت که کاربر باز می کند قابل استفاده اند البته مادامیکه ان صفحه ای که جلسه را شروع کرده باز باشد

session برای ذخیره کردن اطلاعات یا تغییر تنظیمات مربوط به جلسه یک کاربر بکار می رود ( منظور از جلسه مدیریت صفحات وب باز شده از یک سایت توسط برنامه صفحه وب می باشد ) این جلسه از دید کاربر مخفی است و کاملا در برنامه صفحات وب نهفته است

متغیر session اطلاعاتی را درباره فقط یک کاربر نگه می دارد و در تمام صفحات وب مربوط به همی که کاربر باز کرده قابل دسترسی و استفاده است

کامپیوتر می داند شما که هستید . او می داند شما کی برنامه ای را باز کرده و کی بسته اید . اما در اینترنت یک مشکلی وجود دارد و ان این است که سرور نمی داند شما که هستید و چه می کنید زیرا ادرس های http قابلیت تمرکز روی فعالیت های شما را ندارند

با session می توان این مشکل را حل کرد روش کار به این صورت است که برای کاربردهای بعدی اطلاعات کاربری که صفحه وب شما را باز کرده در سرور ذخیره می شود . اطلاعاتی مثل اسم کاربری ، لیست خریدهایتان و غیره

به هر حال ، باید بدانید اطلاعات جلسه کاملا موقت بوده و بعد از خروج کاربر از وب سایت شما از بین می روند

در صورتیکه شما می خواهید ازاطلاعات جلسه برایتان در سرور باقی بماند باید ان اطلاعات را در بانک اطلاعاتی سرور ذخیره نمائید

از انجا که ممکن چندین نفر در مکانهای مختلف از وب سایت شما دیدن نمایند ، روش کار جلسه این گونه است که به هر کاربری که در حال دیدن وب سایت شماست یک ای دی منحصر به فرد بر اساس UID اختصاص می دهد

uid در کوکی ذخیره می شود.

شروع یک جلسه

قبل از اینکه شما بتوانید اطلاعات کاربری که در حال بازدید از وب سایت شماست در جلسه ذخیره نمائید ابتدا باید جلسه را اغاز نمائید

نکته : دستور session_start باید قبل از تگ HTML باشد

مثال

<?php session_start(); ?>

<html>
<body>

</body>
</html>

کد بالا جلسه کاربر را در سرور ثبت می کند ، و به شما اجازه میدهد اطلاعات کاربر را در سرور ذخیره نمائید و یک UID را به ان کاربر اختصاص دهید

روش ذخیره نمودن اطلاعات جلسه

روش صحیح برای ذخیره نمودن اطلاعات جلسه استفاده از متغیر SESSION_$ است

مثال

<?php
session_start();
// store session data
$_SESSION['views']=1;
?>

<html>
<body>

<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>

</body>
</html>

خروجی :

Pageviews=1

در مثال زیر ، ما برای شمردن تعداد دفعات بازدید سایتمان توسط کاربری خاص ، یک شمارنده ساده می سازیم

در این مثال به کمک تابع isset بررسی می کنیم که اگر قبلا متغیر views ساخته شده یک واحد به ان اضافه شود ولی اگر ساخته نشده ، هم اکنون ایجاد شود و مقدار یک درون ان قرار گیرد

 <?php
session_start();

if(isset($_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>

قت داشته باشید کد بالا را در ابتدای برنامه و قبل از تگ html باز بنویسید تا به محض باز شدن صفحه وب اجرا شود

پاک کردن متغیرهای جلسه

اگر می خواهید مقدار درون متغیرهای جلسه را پاک نمائید از تابع unset استفاده کنید

مثال

<?php
session_start();
if(isset($_SESSION['views']))
 unset($_SESSION['views']);
?>

دستورات بالا بررسی می کند در صورت وجود متغیر جلسه با نام views مقدار ان پاک شود

اما اگر می خواهید جلسه و خود متغیرهای جلسه را کلا نیست و نابود کنید از دستور session_destroy استفاده نمائید . با این کار قبل از اینکه با بستن صفحات وب توسط کاربر جلسه پایان یابد ، شما دستور پایان جلسه را صادر کرده اید

<?php
session_destroy();
?>

منبع : آموزش برنامه نویسی وب - کامپیوتر

در ادامه تجربه های خودم رو قرار می دهم تا شما هم استفاده کنید ...

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش لاراول آموزش cPanel آموزش php آموزش فرم ساز RSform آموزش ساخت ربات جذب ممبر آموزش ساخت ربات دوستیابی آموزش ساخت ربات فروشگاهی برای ووکامرس آموزش طراحی سایت داینامیک با php آموزش بخش پشتیبانی با rsticket

در فرم ورود چه طور استفاده کنیم؟:21:

بعد از فرم ورود اطلاعات چه طور حفظ می شوند و در صفحات بعدی می توان از آنها استفاده کرد؟:21:

.....

بعد از چند روز تلاش:ooof: با کمک خدا موفق به پیدا کردن رمز شدم....وقتی یه چیزی نمی دونی و یادش می گیری ادم یه جوری میشه الان خیلی خوشحالم:didi:

......

<?php
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="ramgame"; // Database name 
$tbl_name="user"; // Table name 

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form 
$myusername=$_POST['uname']; 
$mypassword=$_POST['pass']; 

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){

// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword"); 
[color="#FF0000"]$_SESSION["valid_user"] = $_POST["uname"];[/color]
header("location:profile.php");
}
else {
echo "Wrong Username or Password";
}
?>

در کد بالا کدی هست که قرمز هستش

این کد کاربر رو دخیره می کنه حالا کدی رو در صفحه اصلی قرار می دهیم برای اینکه اگر کاربر وارد شده بود نام کاربرش رو بنویسه در غیر این صورت بنویسه نام کاربری.

<?php
//شروع یک نشست
session_start();
if (!$_SESSION["valid_user"])
       {
		echo "کاربر مهمان ";
       }
	else
	{
		echo "<p>Username: " . $_SESSION["valid_user"];
	}
?>

در کد بالا اگر کاربر وارد شده باشه نام کاربری رو چاپ می کنه در غیر این صورت کاربر مهمان رو چاپ می کنه

اگه این پست براتون مفید بوده

1 یک صلوات برای سلامتی و ظهور اقا امام زمان بفرست

2 یک صلوات برای عاقبت بخیری همه

3 یک صلوات هم برای رفتگانمون بفرستید

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری