PHP Session-ний талаар

Удиртгал:

Session-үүдбол вебын хөгжүүлэгчидийн зэвсгийн сангийн илүү хүчирхэг бөгөөд энгийн хэрэгсэлийн нэг юм. Энэхүү хэрэгсэл нь динамик веб хуудасын хөгжлийн үнэлэмж болох бөгөөд үүнийг хэрхэн хэрэглэх вэ гэдгийг хөгжүүлэгч бүхний мэдэх зүйлүүдийн нэг билээ.

Энэ хичээлээр PHP Session-үүдийн үндсийн талаар тайлбарлах болно.

 

Хүлээн авалт:

PHP-н үндсэн мэдлэг нь HTTP POST/GET-г шаардана(хувьсагчид, массив болон тиймэрхүү).

 

Session гэж юу вэ?

Session бол өгөгдөлийг хадгалах арга. Interactive вэб application-г хөгжүүлэх үед бид заримдаа User ID болон names гэх мэт мэдээллийн тодорхой хэсгийг аюулгүй байрлуулах хэрэгцээг өөрсдөдөө хайдаг. Хаа нэг газар энэ нь броузерийг дахин сэргээх юмуу дахин хандахад бүрд алдагдана. Энэ нь session-г чухам юу хийдэг вэ гэдгийг хэлж байна. Session нь таны өгөгдөлийг server дээр хадгалдаг, тиймээс та ямар нэгэн server-side script-сээямар ч цаг хугацаанд үүнлүү хандаж болно.

Хийхэд энэхүү боломжит файл нь server дээр үүсгэгдсэн байна, энэ нь боловсруулагдсан SessionID-гаар холбогдсон ба POST/GET эсвэл cookie өгөгдлөөр веб броузерлуу илгээгдэж байдаг.

Тэгээд хэзээ ч броузер дахин сэргээгдэх болон дахин хандахад server-side код SessionID-г уншдаг баserver дээрх файлд хадгалагдсан мэдээллийг ачааллаж байдаг.

 

Би яагаад Session-г хэрэглэх гэж?

Энэхүү хэрэгсэл нь тоо томшгүй олон боломжуудтай юм. Үүний энгийн хэрэглээ бол Usernames болон UserID мэтийн хэрэглэгчийн мэдээллийн урсгалыг хадгалах байдаг.

Жишээлбэл, хэрэв та өөрийн нээсэн байгаа TSDN хуудасны дээд хэсэгрүү харагдана. Хэрэв та logged on байгаа бол мэндчилгээний зурвас болон зарим хэрэглэгчийн хэсгийн удирдлагуудийг харах болно. Эдгээр талбарууд нь таныг TSDN хуудасандаа ажиллахад ямар нэгэн асуудалгүй байлгана. Энэхүү боломжийг хийхийн тулд таны хэрэглэгчийн мэдээлэл server-side script унших боломжтой хаа нэгтээ аюулгүй хадгалагдсан байх ёстой байдаг. Энэ бол Session оршихийн жинхэнэ шалтгаан болно.

 

Би session-г хэрхэн хэрэглэдэг вэ?

PHP-д Session-г хэрэглэх нь маш энгийн байдаг. Хамгийн эхэнд Session-г хэрэглэж байгаа өөрийн script-г ялгах хэрэгтэй.

Энэ нь start_session() функцээр дуудагддаг. Энэ функц нь оршиж байгаа session-г дахин дуудах юмуу шинийг үүсгэх аль алинд нь байна. Яагаад гэвэл энэ функц нь таны броузерлуу толгой өгөгдөлийг илгээх хэрэгтэй болдог, энэ нь ямар нэгэн зүйл илгээгдэхээс өмнө дуудагдсан байх ёстой.

 

Нэг удаад өөрийн броузерд session-г хэрэглэхээр тушаагдсан бол, та $_SESSION массиваар session өгөгдөлрүү хандаж болно. Энэ массив нь PHP-н бусад массивийн адил аятайхан ажилладаг. Та энгийн массивтай адилаар эдгээр талбаруудад add, edit, unset хийж болно.

Энд $_SESSION массивийг хэрхэнхэрэглэх болон үүсгэх бяцхан жишээ байна.

Code: ( php )

1.// Start the session

2.session_start();

3.

4.// Create a session variable

5.$_SESSION[‘MyVar’] = “This is my session variable”;

6.

7.// Use the session variable

8.echo“MyVar: “. $_SESSION[‘MyVar’];

9.

10.// Edit a session variable

11.$_SESSION[‘MyVar’] = “I just edited my first variable”;

12.

13.// Delete a session variable

14.unset($_SESSION[‘MyVar’]);

Нэг удаад $_SESSION массивд талбар оруулсан бол, энэ нь броузерийг хаах эсвэл талбарийг unset хийх хүртэл хүчинтэй хэвээр байх болно.

 

Энгийн жишээнээс:

Сэдвийн эхэнд би Session-р хэрэглэгчийн өгөгдөлийг хадгалах тухай тавьсан. Энэ багахан жишээ хэрэглэгчийн мэдээллийг цуглуулах болон PHP Session массивийг хэрхэн хадгалах талаар үзнэ. Энэ HTML form-н username-г шаардах болон Session-д нэмдэг. Тэгээд хэрэглэгч logged in байх үед энд мэндчилгээний мессеж илгээх болон хэрэглэгчийн log out хийх тохиргоог олгодог. Хэрэв хэрэглэгч log out-г сонговол энд хялбархан Session-ний loggin хийсэн талбарыг unset болгоно.

Code: ( php )

1.<?php

2.// Start the session

3.session_start();

4.

5.// Check if a username is stored in the session

6.if(isset($_SESSION[‘Username’]))

7.{

8.// Check if the user has pressed the logout link

9.if(@isset($_GET[‘logout’]))

10.{

11.// Unset the SESSION variable Username

12.unset($_SESSION[‘Username’]);

13.echo“You have been logged out <br /> <a href=’?’>Continue</a>&#8221;;

14.}

15.else

16.{

17.// Print the weclome message

18.echo“Your are signed in as ‘{$_SESSION[‘Username’]}'<br /><a href=’?logout=true’>Logout</a>&#8221;;

19.}

20.}

21.else

22.{

23.// Check If the user has posted any data

24.if(isset($_POST[‘Username’]))

25.{

26.// Set the SESSION variable Username

27.$_SESSION[‘Username’] = $_POST[‘Username’];

28.echo“You have been logged in! <br /><a href=’?’>Continue</a>&#8221;;

29.}

30.else

31.{

32.// Print the login form

33.echo

34. <form action=&#8221;?&#8221; method=&#8221;post&#8221;>

35. Username: <input name=&#8221;Username&#8221; type=&#8221;text&#8221; /><br />

36. <input type=&#8221;submit&#8221; value=&#8221;Login&#8221; />

37. </form>’;

38.}

39.}

40.?>

3 Comments

  1. Үнэхээр их баярллаа. Чиний бичсэн энэ зүйл надад яг хэрэгтэй байсан юм. Мэдэхгүй байсан юмаа мэдэж алдаагаа засаж чадлаа.

  2. Бушуу болих Cgi script installation service

Сэтгэгдэл бичих