برگزیده های پرشین تولز

مشكل اساسي با سشن

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
سلام
بابا من نميفهمم فرق بين آرايه ي $_SESSION با تابع session_register چيه؟
مگه با هردو نميشه متغير ها رو از صفحه اي به صفحه اي ديگه فرستاد؟
اگه ميشه پس چرا كد زير ميتونه متغيير ها رو با آرايه ي $_SESSION به صفحه ي ديگه بفرسته ولي با تابع session_register نميتونه؟:blink:
كجاي كد من اشتباهه؟؟
صفحه ي s1
PHP:
<?php
session_start();
$_SESSION['product1'] = "p1";
$_SESSION['product2'] = "p2";
$product3 = "p3";                   
session_register('product3');
print "<a href = \"s2.php\">link</a>";
?>
صفحه ي 2
PHP:
<?php
session_start();
print $_SESSION['product1'];
print $_SESSION['product2'];
print $product3;
?>
 

shahkey

Registered User
تاریخ عضویت
16 نوامبر 2005
نوشته‌ها
1,235
لایک‌ها
5
سلام
بابا من نميفهمم فرق بين آرايه ي $_SESSION با تابع session_register چيه؟
مگه با هردو نميشه متغير ها رو از صفحه اي به صفحه اي ديگه فرستاد؟
اگه ميشه پس چرا كد زير ميتونه متغيير ها رو با آرايه ي $_SESSION به صفحه ي ديگه بفرسته ولي با تابع session_register نميتونه؟:blink:
كجاي كد من اشتباهه؟؟
صفحه ي s1
PHP:
<?php
session_start();
$_SESSION['product1'] = "p1";
$_SESSION['product2'] = "p2";
$product3 = "p3";                   
session_register('product3');
print "<a href = \"s2.php\">link</a>";
?>
صفحه ي 2
PHP:
<?php
session_start();
print $_SESSION['product1'];
print $_SESSION['product2'];
print $product3;
?>
نه دیگه اشتب میکنی!
session_register فقط سشن رو ثبت میکنه !
هر وقت ثبت کردی با $_SESSION میتونی مقدار ثبت شده سشن رو بگیری!
مثل GET_$ هستش
 

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
نه دیگه اشتب میکنی!
session_register فقط سشن رو ثبت میکنه !
هر وقت ثبت کردی با $_SESSION میتونی مقدار ثبت شده سشن رو بگیری!
مثل GET_$ هستش
والا من هر چي كد كوچول موچول كه از session_register استفاده كردن تو اين كتابها ديدم اثري از $_SESSION نبود
مثلا كد زير از كتاب Professional PHP4
صفحه ي session1.php
PHP:
<?php
    session_start();                    // start or continue the session
    $user = "dodell";                   // initialize a variable for the user

    // register the "user" variable and give output.
    if (session_register("user")) {
        echo("User field set to $user.");
    } else {
        echo("Could not set the session variable!");
    }
    ?>
صفحه ي session2.php
PHP:
<?php
    session_start();
    echo("Welcome to the user area, $user!");
    ?>
يا كد زير از كتاب Advanced PHP for Web Professionals
صفحه ي track_prefs1.php
PHP:
1.  <?
 2.  session_start();
 3.  session_register("first");
 4.  session_register("last");
 5.  session_register("email");
 6.  session_register("news_prefs");
 7.  ?>
 8.  <html>
 9.  <head>
10.  <title>Welcome</title>
11.  <style type="text/css">
12.    p, ul, h3 {font-family: verdana, helvetica, sans-serif;}
13.    .enabled {font-weight: bold; color: green;}
14.    .disabled {font-weight: bold; color: red;}
15.  </style>
16.  </head>
17.  <body>
18.  <?
19.  function load_user_data(){
20.    global $first, $last, $email, $news_prefs;
21.    $first = "Faye";
22.    $last = "Valentine";
23.    $email = "[email protected]";
24.    $news_prefs = array(
25.      "Local" => 0,
26.      "Nation" => 1,
27.      "World" => 1,
28.      "Comics" => 0,
29.      );
30.  }
31.  load_user_data();
32.  ?>
33.  <h3>Welcome</h3>
34.  <p>Welcome back <b><?=$first?></b>
35.  <p>Your settings have been loaded.
36.  <p><a href=track_prefs2.php>View Your Settings</a>.
37.  </body>
38.  </html>
و صفحه ي track_prefs2.php
PHP:
1.  <?
 2.    session_start();
 3.  ?>
 4.  <html>
 5.  <head>
 6.  <title>View Settings</title>
 7.  <style type="text/css">
 8.    p, ul, h3 {font-family: verdana, helvetica, sans-serif;}
 9.    .enabled {font-weight: bold; color: green;}
10.    .disabled {font-weight: bold; color: red;}
11.  </style>
12.  </head>
13.  <body>
14.  <h3>View Your Settings</h3>
15.  <p>Hello <b><?=$first?> <?=$last?></b>,
16.  <p>Email: <?=$email?>
17.  <p>Your settings:<ul>
18.  <?
19.  while(list($key,$value) = each($news_prefs)) {
20.    if($value) {
21.      $value = "Enabled";
22.    } else {
23.      $value = "Disabled";
24.    }
25.    print("<li class=$value>$key: $value</li>");
26.  }
27.  ?>
28.  </ul>
29.  </body>
30.  </html>
خوب تو اين دو مثال بالا فقط از session_register استفاده شده و با تكيه بر اون خواستن از همون متغيير ها در صفحات بعد استفاده كنند. البته هيج كدوم هم جواب نداده:D
 

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
هيچي فقط بگو خدا پدر مادرشو بيامرزه:D
خوب رو هاست كه من به register_globals دسترسي ندارم كه بخواهم اونو on كنم:hmm:
با اين حساب بهتره از خود آرايه ي سشن استفاده كنم نه؟؟
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
مثل اینکه قرار توی نسخه های جدید PHP نسلش از زمین برداشته بشه !
باید از آرایه استفاده کنی
 

pooyesh1

کاربر تازه وارد
تاریخ عضویت
8 ژانویه 2006
نوشته‌ها
75
لایک‌ها
0
میشه یک نمونه کد بزارید که بجای session از آرایه سشن برای انتقال اطلاعات استفاده کرده باشه
ممنون می شم
 

peymanafraz

کاربر تازه وارد
تاریخ عضویت
28 دسامبر 2005
نوشته‌ها
137
لایک‌ها
0
محل سکونت
$strHome
a.php
PHP:
SESSION_START();
$_SESSION['username'] = "Peyman";

b.php
PHP:
SESSION_START();
PRINT($_SESSION['username']);
 
بالا